PropertyDescriptor.SetValue(Object, Object) Metod

Definition

När den åsidosättas i en härledd klass anger du värdet för komponenten till ett annat värde.

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)

Parametrar

component
Object

Komponenten med det egenskapsvärde som ska anges.

value
Object

Det nya värdet.

Kommentarer

Den här metoden implementeras vanligtvis genom reflektion.

Den här metoden skapar en DesignerTransaction automatiskt i följande ordning:

  1. Metoden anropar IDesignerHost.CreateTransaction metoden för att skapa en ny DesignerTransaction för att representera ändringarna.

  2. Metoden anropar IComponentChangeService.OnComponentChanging metoden för att indikera att transaktionen har påbörjats och att ändringarna håller på att ske.

  3. Metoden återställer egenskapen till det värde som bestäms av den här metodens kontrollordning.

  4. Metoden anropar IComponentChangeService.OnComponentChanged metoden för att indikera att ändringarna har inträffat.

  5. Metoden anropar DesignerTransaction.Commit för att indikera att transaktionen är klar.

Syftet med transaktionen är att stödja Undo och Redo funktioner.

Anteckningar till implementerare

När du åsidosätter den här metoden bör den ange värdet för egenskapen genom att anropa lämplig "SetMyProperty"-metod som du behöver implementera. Om det angivna värdet inte är giltigt bör komponenten utlösa ett undantag som skickas. Du bör utforma egenskapen så att metoden "GetMyProperty" (som du har implementerat) efter metoden "SetMyProperty" returnerar det värde som skickades när metoden "SetMyProperty" inte utlöser ett undantag.

Gäller för

Se även