PropertyDescriptor.SetValue(Object, Object) 方法

定義

在衍生類別中覆寫時,將元件的值設定為不同的值。

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)

參數

component
Object

屬性值將要設定的元件。

value
Object

新值。

備註

一般而言,此方法是透過反映來實作。

此方法會依照下列順序自動建立 DesignerTransaction

  1. 方法會 IDesignerHost.CreateTransaction 呼叫 方法來建立新的 DesignerTransaction 來表示變更。

  2. 方法會呼叫 IComponentChangeService.OnComponentChanging 方法,指出交易已開始,且即將發生變更。

  3. 方法會將 屬性重設為這個方法檢查順序所決定的值。

  4. 方法會 IComponentChangeService.OnComponentChanged 呼叫 方法,以指出已發生變更。

  5. 方法會呼叫 DesignerTransaction.Commit ,以指出交易已完成。

交易的目的是要支援 UndoRedo 功能。

給實施者的注意事項

當您覆寫這個方法時,它應該叫用您需要實作的適當 “SetMyProperty” 方法來設定 屬性值。 如果指定的值無效,元件應該會擲回例外狀況,該例外狀況會向上傳遞。 您應該設計 屬性,讓 「GetMyProperty」 方法 (您在 “SetMyProperty” 方法之後實作) 傳回 “SetMyProperty” 方法在 “SetMyProperty” 方法未擲回例外狀況時傳入的值。

適用於

另請參閱