派生クラスによってオーバーライドされた場合に、指定したバインディング、インデックス、および 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 のビット フラグ InvokeMethod 、 CreateInstance 、 Static 、 GetField 、 SetField 、 GetProperty 、または SetProperty にする必要があります。適切な呼び出し属性を指定する必要があります。静的メンバを呼び出す場合は、 BindingFlags の Static フラグを設定する必要があります。 - 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 セキュリティ:
- ReflectionPermission (Type.InvokeMember などの機構を通じて遅延バインディングで呼び出すときに必要なアクセス許可) ReflectionPermissionFlag.MemberAccess (関連する列挙体)
- ReflectionPermission (非パブリック オブジェクトをリフレクション操作するために必要なアクセス許可) ReflectionPermissionFlag.TypeInformation (関連する列挙体)
参照
PropertyInfo クラス | PropertyInfo メンバ | System.Reflection 名前空間 | PropertyInfo.GetValue オーバーロードの一覧 | Binder | BindingFlags | CultureInfo