PropertyDescriptor.SetValue(Object, Object) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
W przypadku zastąpienia 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:
Metoda wywołuje metodę IDesignerHost.CreateTransaction , aby utworzyć nową DesignerTransaction , aby reprezentować zmiany.
Metoda wywołuje metodę IComponentChangeService.OnComponentChanging , aby wskazać, że transakcja została rozpoczęta, a zmiany zostaną wprowadzone.
Metoda resetuje właściwość do wartości określonej przez kolejność sprawdzania tej metody.
Metoda wywołuje metodę IComponentChangeService.OnComponentChanged , aby wskazać, że zmiany wystąpiły.
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
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 zostanie przekazany. Należy zaprojektować właściwość tak, aby metoda "GetMyProperty" (zaimplementowana) po metodzie "SetMyProperty" zwraca wartość przekazywaną, gdy metoda "SetMyProperty" nie zgłasza wyjątku.