PropertyDescriptor.ResetValue(Object) Metodo

Definizione

Quando è sottoposto a override in una classe derivata, consente di reimpostare il valore predefinito di questa proprietà del componente.

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)

Parametri

component
Object

Componente con il valore di proprietà da reimpostare sul valore predefinito.

Commenti

In genere, questo metodo viene implementato tramite reflection.

Questo metodo determina il valore a cui reimpostare la proprietà nell'ordine di precedenza seguente:

  1. Per questa proprietà è presente una proprietà ombreggiata.

  2. Per questa proprietà è presente un oggetto DefaultValueAttribute .

  3. Esiste un metodo "ResetMyProperty" implementato, in cui "MyProperty" è il nome della proprietà passata.

Questo metodo crea automaticamente un DesignerTransaction oggetto nell'ordine seguente:

  1. Il metodo chiama il IDesignerHost.CreateTransaction metodo per creare un nuovo DesignerTransaction oggetto per rappresentare le modifiche.

  2. Il metodo chiama il IComponentChangeService.OnComponentChanging metodo per indicare che la transazione è iniziata e che le modifiche stanno per verificarsi.

  3. Il metodo reimposta la proprietà sul valore determinato dall'ordine di controllo di questo metodo.

  4. Il metodo chiama il IComponentChangeService.OnComponentChanged metodo per indicare che le modifiche sono state apportate.

  5. Il metodo chiama DesignerTransaction.Commit per indicare che la transazione è stata completata.

Lo scopo della transazione è supportare Undo e Redo funzionalità.

Note per gli implementatori

Quando ne viene eseguito l'override in una classe derivata, questo metodo cerca un oggetto DefaultValueAttribute. Se ne trova uno, imposta il valore della proprietà sull'oggetto DefaultValueAttribute trovato. Se questo metodo non riesce a trovare un DefaultValueAttributeoggetto , cerca un metodo "ResetMyProperty" che è necessario implementare. Se viene trovato, il ResetValue(Object) metodo lo richiama. Se ResetValue(Object) non è possibile trovare un DefaultValueAttribute metodo o "ResetMyProperty" implementato, non esegue un'operazione.

Si applica a

Vedi anche