PropertyDescriptor.SetValue(Object, Object) Metoda

Definicja

Gdy jest zastępowany w klasie pochodnej, ustawia wartość składnika na inną wartość.When overridden in a derived class, sets the value of the component to a different value.

public:
 abstract void SetValue(System::Object ^ component, System::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.The component with the property value that is to be set.

value
Object

Nowa wartość.The new value.

Uwagi

Zazwyczaj ta metoda jest implementowana poprzez odbicie.Typically, this method is implemented through reflection.

Ta metoda tworzy DesignerTransaction automatycznie w następującej kolejności:This method creates a DesignerTransaction automatically in the following order:

  1. Metoda wywołuje IDesignerHost.CreateTransaction metodę w celu utworzenia nowej DesignerTransaction do reprezentowania zmian.The method calls the IDesignerHost.CreateTransaction method to create a new DesignerTransaction to represent the changes.

  2. Metoda wywołuje IComponentChangeService.OnComponentChanging metodę w celu wskazania, że transakcja została rozpoczęta i zmiany zostaną wykonane.The method calls the IComponentChangeService.OnComponentChanging method to indicate that the transaction has begun and the changes are about to occur.

  3. Metoda resetuje właściwość do wartości ustalonej przez kolejność sprawdzania tej metody.The method resets the property to the value determined by this method's checking order.

  4. Metoda wywołuje IComponentChangeService.OnComponentChanged metodę w celu wskazania, że zmiany zostały wprowadzone.The method calls the IComponentChangeService.OnComponentChanged method to indicate that the changes have occurred.

  5. Metoda wywołuje DesignerTransaction.Commit , aby wskazać, że transakcja została ukończona.The method calls DesignerTransaction.Commit to indicate that the transaction is complete.

Celem transakcji jest wsparcie Undo i Redo funkcjonalność.The purpose of the transaction is to support Undo and Redo functionality.

Uwagi dotyczące implementowania

Podczas zastępowania tej metody należy ustawić wartość właściwości przez wywołanie odpowiedniej metody "SetMyProperty", która ma być zaimplementowana.When you override this method, it should set the value of the property by invoking the appropriate "SetMyProperty" method that you need to implement. Jeśli określona wartość nie jest prawidłowa, składnik powinien zgłosić wyjątek, który jest przekazywać.If the value specified is not valid, the component should throw an exception, which is passed up. Należy zaprojektować Właściwość tak, aby Metoda "GetMyProperty" (zaimplementowana) była zgodna z metodą "SetMyProperty", zwracająca wartość przekazaną, gdy metoda "SetMyProperty" nie zgłasza wyjątku.You should design the property so that a "GetMyProperty" method (that you have implemented) following a "SetMyProperty" method returns the value passed in when the "SetMyProperty" method does not throw an exception.

Dotyczy

Zobacz też