PropertyInfo.SetValue メソッド (Object, Object, Object )
プロパティの値を設定します。インデックス付きプロパティの場合は、オプションでインデックス値を設定できます。
Overloads Public Overridable Sub SetValue( _
ByVal obj As Object, _ ByVal value As Object, _ ByVal index() As Object _)
[C#]
public virtual void SetValue(objectobj,objectvalue,object[] index);
[C++]
public: virtual void SetValue(Object* obj,Object* value,Object* index __gc[]);
[JScript]
public function SetValue(
obj : Object,value : Object,index : Object[]);
パラメータ
- obj
プロパティ値が設定されるオブジェクト。 - value
このプロパティの新しい値。 - index
インデックス付きプロパティのインデックス値 (省略可能)。インデックス付きでないプロパティの場合は、この値を null 参照 (Visual Basic では Nothing) にする必要があります。
例外
例外の種類 | 条件 |
---|---|
ArgumentException | index 配列に、必要な引数の型が格納されていません。
または プロパティの Get メソッドが見つかりません。 |
TargetException | オブジェクトが対象の型と一致しないか、プロパティがインスタンス プロパティであるが、 obj が null 参照 (Visual Basic では Nothing) です。 |
TargetParameterCountException | index 内のパラメータ数が、インデックス付きプロパティのパラメータ数と一致しません。 |
MethodAccessException | クラス内のプライベート メソッドまたはプロテクト メソッドに無効なアクセスが試行されました。 |
解説
このメソッドは、 BindingFlags パラメータが DefaultChangeType で、Binder に null 参照 (Visual Basic では Nothing) 、CultureInfo に null 参照 (Nothing) を設定した SetValue 抽象メソッドの実装を提供する便宜的なメソッドです。
SetValue メソッドを使用するには、最初に Type クラスを取得します。そして、その Type から PropertyInfo を取得します。 PropertyInfo から、 SetValue メソッドを使用します。
必要条件
プラットフォーム: 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.MemberAccess 、 ReflectionPermissionFlag.TypeInformation (関連する列挙体)
参照
PropertyInfo クラス | PropertyInfo メンバ | System.Reflection 名前空間 | PropertyInfo.SetValue オーバーロードの一覧