この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Type.GetField メソッド (String)

 

公開日: 2016年10月

指定した名前のパブリック フィールドを検索します。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

public FieldInfo GetField(
	string name
)

パラメーター

name
Type: System.String

取得するデータ フィールドの名前を格納している文字列。

戻り値

Type: System.Reflection.FieldInfo

指定した名前のパブリック フィールドが存在する場合は、そのフィールドを表すオブジェクト。それ以外の場合は null

Exception Condition
ArgumentNullException

namenull です。

NotSupportedException

この Type オブジェクトは、CreateType メソッドがまだ呼び出されていない TypeBuilder です。

検索 name 大文字小文字を区別します。 検索には、パブリックな静的とパブリック インスタンス フィールドが含まれています。

場合は、現在 Type このメソッドが戻る構築されたジェネリック型を表す、 FieldInfo 適切な型の引数に置き換え、型パラメーターです。

場合は、現在 Type 型パラメーターを表すジェネリック型またはジェネリック メソッドの定義では、このメソッドはクラスの制約のフィールドを検索します。

次の例では取得、 Type 、指定したクラスのオブジェクトとは、取得、 FieldInfo 、フィールドのオブジェクト フィールドの値を表示します。


using System;
using System.Reflection;

public class MyFieldClassA
{
    public string Field = "A Field";
}

public class MyFieldClassB
{
    private string field = "B Field";
    public string Field 
    {
        get
        {
            return field;
        }
        set
        {
            if (field!=value)
            {
                field=value;
            }
        }
    }
}

public class MyFieldInfoClass
{
    public static void Main()
    {
        MyFieldClassB myFieldObjectB = new MyFieldClassB();
        MyFieldClassA myFieldObjectA = new MyFieldClassA();

        Type myTypeA = typeof(MyFieldClassA);
        FieldInfo myFieldInfo = myTypeA.GetField("Field");

        Type myTypeB = typeof(MyFieldClassB);
        FieldInfo myFieldInfo1 = myTypeB.GetField("field", 
            BindingFlags.NonPublic | BindingFlags.Instance);

        Console.WriteLine("The value of the public field is: '{0}'", 
            myFieldInfo.GetValue(myFieldObjectA));
        Console.WriteLine("The value of the private field is: '{0}'", 
            myFieldInfo1.GetValue(myFieldObjectB));
    }
}

.NET Framework
1.1 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
トップに戻る
表示: