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á má být nastavena.

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 k vytvoření nového DesignerTransaction , který bude představovat změny.

  2. Metoda volá metodu IComponentChangeService.OnComponentChanging k označení, že transakce byla zahájena a změny se chystat.

  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 k označení, že transakce je dokončena.

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

Poznámky pro implementátory

Když tuto metodu přepíšete, měla by nastavit hodnotu vlastnosti vyvoláním příslušné metody SetMyProperty, kterou potřebujete implementovat. Pokud zadaná hodnota není platná, měla by komponenta vyvolat výjimku, která se předává. Vlastnost byste měli navrhnout tak, aby metoda GetMyProperty (kterou jste implementovali) následující po metodě SetMyProperty vrátí hodnotu předanou v, pokud "SetMyProperty" metoda nevyvolá výjimku.

Platí pro

Viz také