PropertyDescriptor.SetValue(Object, Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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:
Die -Methode ruft die IDesignerHost.CreateTransaction -Methode auf, um eine neue DesignerTransaction zur Darstellung der Änderungen zu erstellen.
Die -Methode ruft die IComponentChangeService.OnComponentChanging -Methode auf, um anzugeben, dass die Transaktion begonnen hat und die Änderungen im Entstehen sind.
Die -Methode setzt die -Eigenschaft auf den Wert zurück, der durch die Prüfreihenfolge dieser Methode bestimmt wird.
Die -Methode ruft die IComponentChangeService.OnComponentChanged -Methode auf, um anzugeben, dass die Änderungen aufgetreten sind.
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.