PropertyDescriptor.ResetValue(Object) メソッド

定義

派生クラスでオーバーライドされると、コンポーネントのこのプロパティの値を既定値にリセットします。

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

既定値にリセットされるプロパティ値を持つコンポーネント。

注釈

通常、このメソッドはリフレクションによって実装されます。

このメソッドは、プロパティをリセットする値を次の優先順位で決定します。

  1. このプロパティにはシャドウされたプロパティがあります。

  2. このプロパティには DefaultValueAttribute があります。

  3. 実装した "ResetMyProperty" メソッドがあります。ここで、"MyProperty" は渡すプロパティの名前です。

このメソッドは、次の順序で DesignerTransaction を自動的に作成します。

  1. このメソッドは、 IDesignerHost.CreateTransaction メソッドを呼び出して、変更を表す新しい DesignerTransaction を作成します。

  2. このメソッドは、 IComponentChangeService.OnComponentChanging メソッドを呼び出して、トランザクションが開始され、変更が発生しようとしていることを示します。

  3. メソッドは、このメソッドのチェック順序によって決定される値にプロパティをリセットします。

  4. このメソッドは、 IComponentChangeService.OnComponentChanged メソッドを呼び出して、変更が発生したことを示します。

  5. このメソッドは、トランザクションが完了したことを示す DesignerTransaction.Commit を呼び出します。

トランザクションの目的は、 UndoRedo の機能をサポートすることです。

注意 (実装者)

派生クラスでオーバーライドされると、このメソッドは DefaultValueAttributeを検索します。 見つかった場合は、見つかった DefaultValueAttribute にプロパティの値を設定します。 このメソッドで DefaultValueAttributeが見つからない場合は、実装する必要がある "ResetMyProperty" メソッドが検索されます。 これが見つかった場合は、 ResetValue(Object) メソッドによって呼び出されます。 ResetValue(Object)実装したDefaultValueAttributeまたは "ResetMyProperty" メソッドが見つからない場合、操作は実行されません。

適用対象

こちらもご覧ください