次の方法で共有


PropertyInfo.GetValue メソッド (Object, BindingFlags, Binder, Object , CultureInfo)

派生クラスによってオーバーライドされた場合に、指定したバインディング、インデックス、および CultureInfo を持つプロパティの値を返します。

Overloads Public MustOverride Function GetValue( _
   ByVal obj As Object, _   ByVal invokeAttr As BindingFlags, _   ByVal binder As Binder, _   ByVal index() As Object, _   ByVal culture As CultureInfo _) As Object
[C#]
public abstract object GetValue(objectobj,BindingFlagsinvokeAttr,Binderbinder,object[] index,CultureInfoculture);
[C++]
public: virtual Object* GetValue(Object* obj,BindingFlagsinvokeAttr,Binder* binder,Object* index __gc[],CultureInfo* culture) = 0;
[JScript]
public abstract function GetValue(
   obj : Object,invokeAttr : BindingFlags,binder : Binder,index : Object[],culture : CultureInfo) : Object;

パラメータ

  • obj
    プロパティ値が返されるオブジェクト。
  • invokeAttr
    呼び出し属性。 BindingFlags のビット フラグ InvokeMethodCreateInstanceStaticGetFieldSetFieldGetProperty 、または SetProperty にする必要があります。適切な呼び出し属性を指定する必要があります。静的メンバを呼び出す場合は、 BindingFlagsStatic フラグを設定する必要があります。
  • binder
    バインディング、引数型の強制変換、メンバの呼び出し、およびリフレクションを通じた MemberInfo オブジェクトの取得を有効にするオブジェクト。binder が null 参照 (Visual Basic では Nothing) の場合は、既定のバインダが使用されます。
  • index
    インデックス付きプロパティのインデックス値 (省略可能)。インデックス付きでないプロパティの場合は、この値を null 参照 (Visual Basic では Nothing) にする必要があります。
  • culture
    リソースのローカライズ対象のカルチャを表す CultureInfo オブジェクト。リソースがこのカルチャ用にローカライズされていない場合は、一致する対象を検索するために CultureInfo.Parent メソッドが連続して呼び出されます。この値が null 参照 (Visual Basic では Nothing) の場合は、 CultureInfo.CurrentUICulture プロパティから CultureInfo が取得されます。

戻り値

obj のプロパティ値。

例外

例外の種類 条件
ArgumentException index 配列に、必要な引数の型が格納されていません。

または

プロパティの Get メソッドが見つかりません。

TargetException オブジェクトが対象の型と一致しないか、プロパティがインスタンス プロパティであるが、 obj が null 参照 (Visual Basic では Nothing) です。
TargetParameterCountException index 内のパラメータ数が、インデックス付きプロパティのパラメータ数と一致しません。
MethodAccessException クラス内のプライベート メソッドまたはプロテクト メソッドに無効なアクセスが試行されました。

解説

静的プロパティは個別のオブジェクトではなく型に属するため、静的プロパティを取得するには、オブジェクト引数として null 参照 (Visual Basic では Nothing) を渡します。たとえば、次のコードを使用すると、CultureInfo の静的な CurrentCulture プロパティを取得できます。

PropertyInfo CurCultProp = (typeof(CultureInfo)).GetProperty("CurrentCulture");

Console.WriteLine("CurrCult: " + CurCultProp.GetValue(null,null));

GetValue メソッドを使用するには、最初に Type クラスを取得します。そして、その Type から PropertyInfo を取得します。 PropertyInfo から、 GetValue メソッドを使用します。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

.NET Framework セキュリティ:

参照

PropertyInfo クラス | PropertyInfo メンバ | System.Reflection 名前空間 | PropertyInfo.GetValue オーバーロードの一覧 | Binder | BindingFlags | CultureInfo