PropertyDescriptor.ResetValue(Object) Metódus

Definíció

Ha egy származtatott osztályban felül van bírálva, az összetevő ezen tulajdonságának értékét visszaállítja az alapértelmezett értékre.

public:
 abstract void ResetValue(System::Object ^ component);
public abstract void ResetValue(object component);
abstract member ResetValue : obj -> unit
Public MustOverride Sub ResetValue (component As Object)

Paraméterek

component
Object

A tulajdonságértékkel rendelkező összetevő, amelyet alaphelyzetbe kell állítani az alapértelmezett értékre.

Megjegyzések

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

Ez a metódus határozza meg a tulajdonság alaphelyzetbe állításának értékét a következő sorrendben:

  1. Ennek a tulajdonságnak árnyékolt tulajdonsága van.

  2. Ehhez a tulajdonsághoz tartozik egy DefaultValueAttribute .

  3. Van egy "ResetMyProperty" metódus, amelyet implementált, ahol a "MyProperty" a neki átadott tulajdonság neve.

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 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ül van bírálva egy származtatott osztályban, ez a metódus egy DefaultValueAttribute. Ha talál egyet, a tulajdonság értékét a DefaultValueAttribute talált értékre állítja. Ha ez a metódus nem talál, DefaultValueAttributeegy implementálandó "ResetMyProperty" metódust keres. Ha ez megtalálható, a ResetValue(Object) metódus meghívja. Ha ResetValue(Object) nem talál egy DefaultValueAttribute vagy egy implementált "ResetMyProperty" metódust, akkor nem hajt végre műveletet.

A következőre érvényes:

Lásd még