PropertyDescriptor.SetValue(Object, Object) Methode

Definition

Legt beim Überschreiben in einer abgeleiteten Klasse den Wert der Komponente auf einen anderen Wert fest.

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)

Parameter

component
Object

Die Komponente mit dem Eigenschaftswert, der festgelegt werden soll.

value
Object

Der neue Wert.

Hinweise

In der Regel wird diese Methode durch Reflektion implementiert.

Diese Methode erstellt automatisch in DesignerTransaction der folgenden Reihenfolge:

  1. Die -Methode ruft die IDesignerHost.CreateTransaction -Methode auf, um eine neue DesignerTransaction zur Darstellung der Änderungen zu erstellen.

  2. Die -Methode ruft die IComponentChangeService.OnComponentChanging -Methode auf, um anzugeben, dass die Transaktion begonnen hat und die Änderungen im Entstehen sind.

  3. Die -Methode setzt die -Eigenschaft auf den Wert zurück, der durch die Prüfreihenfolge dieser Methode bestimmt wird.

  4. Die -Methode ruft die IComponentChangeService.OnComponentChanged -Methode auf, um anzugeben, dass die Änderungen aufgetreten sind.

  5. Die -Methode ruft auf DesignerTransaction.Commit , um anzugeben, dass die Transaktion abgeschlossen ist.

Der Zweck der Transaktion ist die Unterstützung Undo und Redo Funktionalität.

Hinweise für Ausführende

Wenn Sie diese Methode überschreiben, sollte sie den Wert der Eigenschaft festlegen, indem sie die entsprechende "SetMyProperty"-Methode aufruft, die Sie implementieren müssen. Wenn der angegebene Wert ungültig ist, sollte die Komponente eine Ausnahme auslösen, die übergeben wird. Sie sollten die Eigenschaft so entwerfen, dass eine "GetMyProperty"-Methode (die Sie implementiert haben) nach einer "SetMyProperty"-Methode den übergebenen Wert zurückgibt, wenn die "SetMyProperty"-Methode keine Ausnahme auslöst.

Gilt für:

Weitere Informationen