次の方法で共有


リフレクション出力によるフィールドの定義

フィールドは、TypeBuilder.DefineField メソッドを使用して、型メンバーとして定義されます。 DefineField メソッドでは、呼び出し元でフィールド名、フィールド型、およびフィールド属性を指定する必要があります。フィールド属性を指定するには、FieldAttributes 列挙型を使用します。 DefineFieldFieldBuilder を返します。

FieldBuilder.SetOffset はフィールド レイアウトを定義します。 FieldBuilder.SetMarshal はフィールドのマーシャリング方法を指定します。 FieldBuilder.SetConstant はフィールドの既定値を定義します。

さらに、フィールドは、ポータブル実行可能 (PE) ファイルの .sdata セクションで定義されているデータも参照できます。 初期化済みデータを表すフィールドを定義するには、ModuleBuilder.DefineInitializedData を使用します。 初期化されていないデータを表すフィールドを定義するには、ModuleBuilder.DefineUninitializedData を使用します。

属性

  • 静的フィールドを指定するには、FieldAttributes.Static 属性を使用します。

  • 初期化できるが初期化後の書き込みはできないフィールドを指定するには、FieldAttributes.InitOnly 属性を使用します。

  • 値がコンパイル時点の定数となるフィールドを指定するには、FieldAttributes.Literal 属性を使用します。

  • フィールドの参照範囲は、複数の属性によって決定します。 FieldAttributes 列挙型の説明を参照してください。

参照

その他の技術情報

リフレクション出力の使用