PropertyDescriptor.SetValue(Object, Object) Metódus

Definíció

Ha egy származtatott osztályban felül van bírálva, az összetevő értékét egy másik értékre állítja.

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)

Paraméterek

component
Object

A beállítandó tulajdonságértékkel rendelkező összetevő.

value
Object

Az új érték.

Megjegyzések

Ez a módszer általában tükröződésen keresztül valósul meg.

Ez a metódus automatikusan a következő sorrendben hoz létre DesignerTransaction :

  1. A metódus meghívja a IDesignerHost.CreateTransaction metódust, hogy hozzon létre egy újat DesignerTransaction a módosítások megjelenítéséhez.

  2. A metódus meghívja a IComponentChangeService.OnComponentChanging metódust, hogy jelezze, hogy a tranzakció megkezdődött, és a módosítások várhatók.

  3. A metódus visszaállítja a tulajdonságot a metódus ellenőrzési sorrendje által meghatározott értékre.

  4. A metódus meghívja a metódust IComponentChangeService.OnComponentChanged , hogy jelezze, hogy a változások történtek.

  5. A metódushívások DesignerTransaction.Commit azt jelzik, hogy a tranzakció befejeződött.

A tranzakció célja a támogatás Undo és Redo a működés.

Megjegyzések az implementálókhoz

Ha felülbírálja ezt a metódust, a tulajdonság értékét a megfelelő "SetMyProperty" metódus meghívásával kell beállítania, amelyet implementálnia kell. Ha a megadott érték érvénytelen, az összetevőnek kivételt kell kivennie, amelyet a rendszer átad. A tulajdonságot úgy kell megterveznie, hogy a "SetMyProperty" metódust követő "GetMyProperty" metódus (amelyet implementált) visszaadja az átadott értéket, amikor a "SetMyProperty" metódus nem okoz kivételt.

A következőre érvényes:

Lásd még