PropertyDescriptor.SetValue(Object, Object) Metodo

Definizione

Quando sottoposto a override in una classe derivata, imposta il valore del componente su un valore diverso.

public:
 abstract void SetValue(System::Object ^ component, System::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)

Parametri

component
Object

Componente con il valore della proprietà da impostare.

value
Object

Nuovo valore.

Commenti

In genere, questo metodo viene implementato tramite reflection.

Questo metodo crea automaticamente un oggetto DesignerTransaction 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 si esegue l'override di questo metodo, deve impostare il valore della proprietà richiamando il metodo "SetMyProperty" appropriato che è necessario implementare. Se il valore specificato non è valido, il componente deve generare un'eccezione, che viene passata. È necessario progettare la proprietà in modo che un metodo "GetMyProperty" (implementato) dopo un metodo "SetMyProperty" restituisca il valore passato quando il metodo "SetMyProperty" non genera un'eccezione.

Si applica a

Vedi anche