PropertyDescriptor.SetValue(Object, Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
派生クラスでオーバーライドされた場合、コンポーネントの値を別の値に設定します。
public:
abstract void SetValue(System::Object ^ component, System::Object ^ value);
public abstract void SetValue (object component, object value);
public abstract void SetValue (object? component, object? value);
abstract member SetValue : obj * obj -> unit
Public MustOverride Sub SetValue (component As Object, value As Object)
パラメーター
- component
- Object
設定する対象のプロパティ値を持つコンポーネント。
- value
- Object
新しい値。
注釈
通常、このメソッドはリフレクションによって実装されます。
このメソッドは、 DesignerTransaction 次の順序で自動的に作成されます。
このメソッドは、変更を IDesignerHost.CreateTransaction 表す新 DesignerTransaction しいメソッドを作成するメソッドを呼び出します。
このメソッドは、トランザクションが開始され、変更が発生しようとしていることを示すメソッドを呼び出 IComponentChangeService.OnComponentChanging します。
メソッドは、このメソッドのチェック順序によって決定された値にプロパティをリセットします。
メソッドは、変更が IComponentChangeService.OnComponentChanged 発生したことを示すためにメソッドを呼び出します。
トランザクションが完了したことを示すメソッド呼び出し DesignerTransaction.Commit 。
トランザクションの目的は、サポート Undo
と Redo
機能です。
注意 (実装者)
このメソッドをオーバーライドするときは、実装する必要がある適切な "SetMyProperty" メソッドを呼び出して、プロパティの値を設定する必要があります。 指定された値が無効な場合、コンポーネントは例外をスローする必要があります。この例外は渡されます。 "SetMyProperty" メソッドに続く "GetMyProperty" メソッド (実装済み) が、"SetMyProperty" メソッドが例外をスローしない場合に渡される値を返すように、プロパティを設計する必要があります。