完成先前调用 DefineTypeDef 方法所定义的类的字段布局。
Syntax
HRESULT SetClassLayout (
[in] mdTypeDef td,
[in] DWORD dwPackSize,
[in] COR_FIELD_OFFSET rFieldOffsets[],
[in] ULONG ulClassSize
);
Parameters
td [in]一个 mdTypeDef 标记,指定要布局的类。
dwPackSize [in]包装大小:1、2、4、8 或 16 字节。 包装大小是相邻字段之间的字节数。
rFieldOffsets [in] COR_FIELD_OFFSET 结构的数组,每个结构都指定类的字段和类内的字段偏移量。 使用 . 终止数组 mdTokenNil。
ulClassSize [in]类的大小(以字节为单位)。
Remarks
该类最初通过调用 IMetaDataEmit::D efineTypeDef 方法定义,并为类的字段指定三个布局之一:自动、顺序或显式。 通常,将使用自动布局,让运行时选择布局字段的最佳方法。
但是,你可能希望根据非托管代码使用的排列来布局字段。 在这种情况下,请选择顺序布局或显式布局并调用 SetClassLayout 以完成字段的布局:
顺序布局:指定包装大小。 根据字段的自然大小或包装大小对齐字段,无论哪个位置都会导致字段的偏移量较小。 设置
rFieldOffsets并ulClassSize设置为零。显式布局:指定每个字段的偏移量或指定类大小和包装大小。
Requirements
平台: 请参阅 .NET 支持的作系统。
Header: Cor.h
Library: CorGuids.lib