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á 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í:
Metoda volá metodu IDesignerHost.CreateTransaction , aby vytvořila novou DesignerTransaction , která bude představovat změny.
Metoda volá metodu IComponentChangeService.OnComponentChanging , aby indikovala, že transakce začala a změny se chystá dojít.
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 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.