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 , která vytvoří novou DesignerTransaction , která bude představovat změny.

  2. Metoda volá metodu IComponentChangeService.OnComponentChanging , která indikuje, ž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á, měla by komponenta vyvolat výjimku, která se předá. Měli byste navrhnout vlastnost tak, aby metoda GetMyProperty (kterou jste implementovali) za metodou SetMyProperty vrátí hodnotu předanou, když metoda SetMyProperty vyvolá výjimku.

Platí pro

Viz také