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

FieldInfo クラス

2013/12/12

フィールドの属性を取得し、フィールドのメタデータにアクセスできるようにします。

System.Object
  System.Reflection.MemberInfo
    System.Reflection.FieldInfo

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

public abstract class FieldInfo : MemberInfo

FieldInfo 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック プロパティAttributesこのフィールドに関連付けられている属性を取得します。
パブリック プロパティCustomAttributesこのメンバーのカスタム属性を格納するコレクションを取得します。 (MemberInfo から継承されます。)
パブリック プロパティDeclaringTypeこのメンバーを宣言するクラスを取得します。 (MemberInfo から継承されます。)
パブリック プロパティFieldHandleフィールドの内部メタデータ表現へのハンドルを取得します。
パブリック プロパティFieldTypeこのフィールド オブジェクトの型を取得します。
パブリック プロパティIsAssemblyこのフィールドを参照可能な範囲が FieldAttributes.Assembly によって示されるかどうかを表す値を取得します。ここで判定されるのは、フィールドは同じアセンブリ内の他の型でのみ参照できる可能性があり、アセンブリ外部の派生型では参照できないということです。
パブリック プロパティIsFamilyこのフィールドへの参照範囲が FieldAttributes.Family によって示されるかどうかを表す値を取得します。ここで判定されるのは、フィールドはそのフィールドのクラスと派生クラスの内側でのみ参照できるということです。
パブリック プロパティIsFamilyAndAssemblyフィールドへの参照範囲が FieldAttributes.FamANDAssem によって示されるかどうかを表す値を取得します。ここで判定されるのは、フィールドは派生クラスからアクセスできるが、それらのフィールドが同じアセンブリ内にある場合に限るものであることです。
パブリック プロパティIsFamilyOrAssemblyこのフィールドへの参照可能な範囲が FieldAttributes.FamORAssem によって示されるかどうかを表す値を取得します。ここで判定されるのは、フィールドは任意の場所にある派生クラスと、同じアセンブリ内のクラスでアクセスできることです。
パブリック プロパティIsInitOnlyコンストラクターの本体でのみフィールドが設定可能であるかどうかを示す値を取得します。
パブリック プロパティIsLiteral値がコンパイル時に書き込まれ、変更できないかどうかを示す値を取得します。
パブリック プロパティIsNotSerializedこのフィールドに NotSerialized 属性があるかどうかを示す値を取得します。
パブリック プロパティIsPinvokeImpl対応する PinvokeImpl 属性が FieldAttributes で設定されているかどうかを示す値を取得します。
パブリック プロパティIsPrivateフィールドがプライベートであるかどうかを示す値を取得します。
パブリック プロパティIsPublicフィールドがパブリックであるかどうかを示す値を取得します。
パブリック プロパティIsSpecialNameフィールドに特殊な意味を持つ名前があるかどうかを示す値を取得します。
パブリック プロパティIsStaticフィールドが静的 (Visual Basic の Shared) であるかどうかを示す値を取得します。
パブリック プロパティMemberTypeこのメンバーがフィールドであることを示す値を取得します。 (MemberInfo.MemberType をオーバーライドします。)
パブリック プロパティMetadataTokenメタデータ要素を識別する値を取得します。 (MemberInfo から継承されます。)
パブリック プロパティModule現在の MemberInfo によって表されるメンバーを宣言する型が定義されているモジュールを取得します。 (MemberInfo から継承されます。)
パブリック プロパティName現在のメンバーの名前を取得します。 (MemberInfo から継承されます。)
パブリック プロパティReflectedTypeMemberInfo のこのインスタンスを取得するために使用されたクラス オブジェクトを取得します。 (MemberInfo から継承されます。)
このページのトップへ

  名前説明
パブリック メソッドEquals対象のインスタンスが、指定したオブジェクトに等しいかどうかを示す値を返します。 (MemberInfo.Equals(Object) をオーバーライドします。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetCustomAttributes(Boolean)派生クラスでオーバーライドされた場合、このメンバーに適用されているすべてのカスタム属性の配列を返します。 (MemberInfo から継承されます。)
パブリック メソッドGetCustomAttributes(Type, Boolean)派生クラスでオーバーライドされた場合、このメンバーに適用されていて、Type によって識別されるカスタム属性の配列を返します。 (MemberInfo から継承されます。)
パブリック メソッド静的メンバーGetFieldFromHandle(RuntimeFieldHandle)指定したハンドルが表すフィールドの FieldInfo を取得します。
パブリック メソッド静的メンバーGetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)指定したジェネリック型に応じた、指定したハンドルが表すフィールドの FieldInfo を取得します。
パブリック メソッドGetHashCodeこのインスタンスのハッシュ コードを返します。 (MemberInfo.GetHashCode() をオーバーライドします。)
パブリック メソッドGetRawConstantValueコンパイラによってフィールドに関連付けられているリテラル値を返します。
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドGetValue派生クラスによってオーバーライドされた場合、指定したオブジェクトでサポートされているフィールドの値を返します。
パブリック メソッドIsDefined派生クラスでオーバーライドされた場合、このメンバーに、指定された型の属性またはその派生型の属性が 1 つ以上適用されているかどうかを示します。 (MemberInfo から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドSetValue(Object, Object)指定されたオブジェクトでサポートされるフィールドの値を設定します。
パブリック メソッドSetValue(Object, Object, BindingFlags, Binder, CultureInfo)派生クラスでオーバーライドされている場合は、型変換で指定された制約でフィールドの値を設定します。
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
このページのトップへ

  名前説明
パブリック拡張メソッドGetCustomAttribute(Type)オーバーロードされます。 指定したメンバーに適用される指定した型のカスタム属性を取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttribute(Type, Boolean)オーバーロードされます。 指定したメンバーに適用される指定した型のカスタム属性を取得し、オプションでそのメンバーの先祖を検査します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttribute<T>()オーバーロードされます。 指定したメンバーに適用される指定した型のカスタム属性を取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttribute<T>(Boolean)オーバーロードされます。 指定したメンバーに適用される指定した型のカスタム属性を取得し、オプションでそのメンバーの先祖を検査します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttributes()オーバーロードされます。 指定したメンバーに適用されるカスタム属性のコレクションを取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttributes(Type)オーバーロードされます。 指定したメンバーに適用する指定した型のカスタム属性のコレクションを取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttributes<T>()オーバーロードされます。 指定したメンバーに適用する指定した型のカスタム属性のコレクションを取得します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドGetCustomAttributes<T>(Boolean)オーバーロードされます。 指定したメンバーに適用される指定した型のカスタム属性のコレクションを取得し、オプションでそのメンバーの先祖を検査します。 (CustomAttributeExtensions によって定義されています。)
パブリック拡張メソッドIsDefined指定した型のカスタム属性が指定したメンバーに適用されているかどうかを示します。 (CustomAttributeExtensions によって定義されています。)
このページのトップへ

FieldInfo クラスには、パブリック コンストラクターがありません。FieldInfo オブジェクトは、Type.GetFields または Type.GetField を呼び出して取得します。

フィールドは、クラスで定義される変数です。FieldInfo を使用すると、クラス内のフィールドのメタデータにアクセスできるほか、フィールドの値に遅延バインディングによってアクセスすることもできます。Windows Phone では、アクセス レベルに関係なく任意のフィールドのメタデータを取得できますが、フィールドの値を取得または設定する際に FieldInfo を使用してアクセス レベルの保護をバイパスすることはできません。

Type.GetFields メソッドを使用して Example クラスのフィールドを取得し、そのフィールドに関する情報を表示する例を次に示します。

メモメモ:

この例を実行するには、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


using System;
using System.Reflection;

public class Example
{
   public int myField1 = 0;
   protected string myField2 = null;
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      FieldInfo[] myFieldInfo;
      Type myType = typeof(Example);
      // Get the type and fields of Example.
      myFieldInfo = myType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance
          | BindingFlags.Public);
      outputBlock.Text += "\nThe fields of " +
          "Example are \n" + "\n";
      // Display the field information of Example.
      for (int i = 0; i < myFieldInfo.Length; i++)
      {
         outputBlock.Text += String.Format("\nName            : {0}", myFieldInfo[i].Name) + "\n";
         outputBlock.Text += String.Format("Declaring Type  : {0}", myFieldInfo[i].DeclaringType) + "\n";
         outputBlock.Text += String.Format("IsPublic        : {0}", myFieldInfo[i].IsPublic) + "\n";
         outputBlock.Text += String.Format("MemberType      : {0}", myFieldInfo[i].MemberType) + "\n";
         outputBlock.Text += String.Format("FieldType       : {0}", myFieldInfo[i].FieldType) + "\n";
         outputBlock.Text += String.Format("IsFamily        : {0}", myFieldInfo[i].IsFamily) + "\n";
      }
   }
}


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型は、スレッド セーフです。

表示:
© 2014 Microsoft