PropertyDescriptor.SetValue(Object, Object) Metoda

Definicja

Po zastąpieniu w klasie pochodnej ustawia wartość składnika na inną wartość.

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)

Parametry

component
Object

Składnik z wartością właściwości, która ma zostać ustawiona.

value
Object

Nowa wartość.

Uwagi

Zazwyczaj ta metoda jest implementowana przez odbicie.

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

  1. Metoda wywołuje metodę , IDesignerHost.CreateTransaction aby utworzyć nową DesignerTransaction metodę reprezentującą 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 nastąpiły zmiany.

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

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

Uwagi dotyczące implementowania

Po zastąpieniu tej metody należy ustawić wartość właściwości, wywołując odpowiednią metodę "SetMyProperty", którą należy zaimplementować. Jeśli określona wartość jest nieprawidłowa, składnik powinien zgłosić wyjątek, który jest przekazywany. Należy zaprojektować właściwość tak, aby metoda "GetMyProperty" (która została zaimplementowana) po metodzie "SetMyProperty" zwraca wartość przekazaną, gdy metoda "SetMyProperty" nie zgłasza wyjątku.

Dotyczy

Zobacz też