PropertyDescriptor.SetValue(Object, Object) Metoda

Definice

Při přepsání v odvozené třídě nastaví hodnotu komponenty na jinou hodnotu.

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

Komponenta s hodnotou vlastnosti, která se má nastavit.

value
Object

Nová hodnota.

Poznámky

Tato metoda se obvykle implementuje prostřednictvím reflexe.

Tato metoda vytvoří DesignerTransaction automaticky v následujícím pořadí:

  1. Metoda volá metodu IDesignerHost.CreateTransaction , aby vytvořila novou DesignerTransaction , která bude představovat změny.

  2. Metoda volá metodu IComponentChangeService.OnComponentChanging , aby indikovala, že transakce začala a změny se chystá dojít.

  3. Metoda resetuje vlastnost na hodnotu určenou pořadím kontroly této metody.

  4. Metoda volá metodu IComponentChangeService.OnComponentChanged , která označuje, že došlo ke změnám.

  5. Volání metody DesignerTransaction.Commit označující, že transakce je dokončena.

Účelem transakce je podpora Undo a Redo funkčnost.

Poznámky pro implementátory

Při přepsání této metody by měla nastavit hodnotu vlastnosti vyvoláním příslušné metody SetMyProperty, kterou potřebujete implementovat. Pokud zadaná hodnota není platná, komponenta by měla vyvolat výjimku, která se předává. Měli byste navrhnout vlastnost tak, aby metoda GetMyProperty (kterou jste implementovali) za metodou SetMyProperty vrátí hodnotu předanou, když metoda SetMyProperty nevyvolá výjimku.

Platí pro

Viz také