エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Type.IsExplicitLayout プロパティ

2013/12/12

Type に、クラスのレイアウト属性として ExplicitLayout が選択されているかどうかを示す値を取得します。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public bool IsExplicitLayout { get; }

プロパティ値

型: System.Boolean
Type に、クラスのレイアウト属性として ExplicitLayout が選択されている場合は true。それ以外の場合は false

LayoutMask は、クラスのレイアウト属性を選択するために使用します。クラス レイアウト属性 (AutoLayoutSequentialLayout、および ExplicitLayout) は、クラス インスタンスのフィールドのメモリ上でのレイアウトを定義します。

ExplicitLayout 属性でクラスをマークすると、ローダーはフィールドの順序を無視し、フィールド オフセット、クラス全体のサイズと配置、またはそれらすべて、などの形で指定されている明示的なレイアウト規則を使用します。

各フィールドの開始位置のオフセット、クラスのオブジェクト全体のサイズ、またはオプションとして、クラスのオブジェクトのパッキング サイズを指定するには、ExplicitLayout 属性を使用します。パッキング サイズはフィールド間の空きメモリ空間であり、1、2、4、8、または 16 バイトである必要があります。

現在の Type が構築ジェネリック型を表している場合、このプロパティは型が構築される元になったジェネリック型定義に適用されます。たとえば、現在の TypeMyGenericType<int> (Visual Basic では MyGenericType(Of Integer)) を表す場合、このプロパティの値は MyGenericType<T> によって決まります。

現在の Type がジェネリック型またはジェネリック メソッドの定義の型パラメーターを表している場合、このプロパティは常に false を返します。

型のインスタンスを作成し、IsExplicitLayout プロパティを表示する例を次に示します。StructLayoutAttribute 用のコード例でも使用された MySystemTime クラスを使用します。

Windows Phone OS

サポート: 8.0

表示:
© 2015 Microsoft