PropertyDescriptor.SetValue(Object, Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í:
Metoda volá metodu IDesignerHost.CreateTransaction k vytvoření nového DesignerTransaction , který bude představovat změny.
Metoda volá metodu IComponentChangeService.OnComponentChanging k označení, že transakce byla zahájena a změny se chystat.
Metoda resetuje vlastnost na hodnotu určenou pořadím kontroly této metody.
Metoda volá metodu , IComponentChangeService.OnComponentChanged která označuje, že došlo ke změnám.
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.