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