Condividi tramite


PropertyDescriptor.SetValue(Object, Object) Metodo

Definizione

Quando è sottoposto a override in una classe derivata, consente di impostare il valore del componente su un valore differente.

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)

Parametri

component
Object

Componente con il valore di proprietà da impostare.

value
Object

Nuovo valore.

Commenti

In genere, questo metodo viene implementato tramite reflection.

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 metodo per indicare che la IComponentChangeService.OnComponentChanging transazione è iniziata e le modifiche si verificano.

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

  4. Il metodo chiama il IComponentChangeService.OnComponentChanged metodo per indicare che le modifiche si sono verificate.

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

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

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. È consigliabile progettare la proprietà in modo che un metodo "GetMyProperty" (implementato) seguendo un metodo "SetMyProperty" restituisce il valore passato quando il metodo "SetMyProperty" non genera un'eccezione.

Si applica a

Vedi anche