PropertyDescriptor.SetValue(Object, Object) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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:
Il metodo chiama il IDesignerHost.CreateTransaction metodo per creare un nuovo DesignerTransaction oggetto per rappresentare le modifiche.
Il metodo chiama il IComponentChangeService.OnComponentChanging metodo per indicare che la transazione è iniziata e che le modifiche stanno per verificarsi.
Il metodo reimposta la proprietà sul valore determinato dall'ordine di controllo di questo metodo.
Il metodo chiama il IComponentChangeService.OnComponentChanged metodo per indicare che le modifiche sono state apportate.
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.