PropertyDescriptor.ResetValue(Object) Metoda

Definicja

Gdy zastąpisz klasę pochodną, resetuje wartość tej właściwości składnika do wartości domyślnej.

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)

Parametry

component
Object

Składnik z wartością właściwości, która ma zostać zresetowana do wartości domyślnej.

Uwagi

Zazwyczaj ta metoda jest implementowana przez odbicie.

Ta metoda określa wartość resetowania właściwości do w następującej kolejności pierwszeństwa:

  1. Dla tej właściwości istnieje właściwość w tle.

  2. Dla tej właściwości jest dostępna DefaultValueAttribute właściwość .

  3. Zaimplementowano metodę "ResetMyProperty", gdzie "MyProperty" to nazwa przekazanej do niej właściwości.

Ta metoda tworzy DesignerTransaction automatycznie w następującej kolejności:

  1. Metoda wywołuje metodę IDesignerHost.CreateTransaction , aby utworzyć nową DesignerTransaction , aby reprezentować zmiany.

  2. Metoda wywołuje metodę IComponentChangeService.OnComponentChanging , aby wskazać, że transakcja została rozpoczęta, a zmiany zostaną wprowadzone.

  3. Metoda resetuje właściwość do wartości określonej przez kolejność sprawdzania tej metody.

  4. Metoda wywołuje metodę IComponentChangeService.OnComponentChanged , aby wskazać, że zmiany wystąpiły.

  5. Metoda wywołuje metodę DesignerTransaction.Commit , aby wskazać, że transakcja została ukończona.

Celem transakcji jest obsługa Undo i Redo funkcjonalność.

Uwagi dotyczące implementowania

Gdy zastąpisz klasę pochodną, ta metoda szuka elementu DefaultValueAttribute. Jeśli go znajdzie, ustawia wartość właściwości na znalezioną DefaultValueAttribute . Jeśli ta metoda nie może odnaleźć DefaultValueAttributemetody , szuka metody "ResetMyProperty", którą należy zaimplementować. Jeśli zostanie to znalezione, ResetValue(Object) metoda wywołuje ją. Jeśli ResetValue(Object) nie można odnaleźć DefaultValueAttribute metody "ResetMyProperty", która została zaimplementowana, nie wykonuje operacji.

Dotyczy

Zobacz też