PropertyDescriptor.SetValue(Object, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在衍生類別中覆寫時,將元件的值設定為不同的值。
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 :
方法會 IDesignerHost.CreateTransaction 呼叫 方法來建立新的 DesignerTransaction 來表示變更。
方法會呼叫 IComponentChangeService.OnComponentChanging 方法,指出交易已開始,且即將發生變更。
方法會將 屬性重設為這個方法檢查順序所決定的值。
方法會 IComponentChangeService.OnComponentChanged 呼叫 方法,以指出已發生變更。
方法會呼叫 DesignerTransaction.Commit ,以指出交易已完成。
交易的目的是要支援 Undo
和 Redo
功能。
給實施者的注意事項
當您覆寫這個方法時,它應該叫用您需要實作的適當 “SetMyProperty” 方法來設定 屬性值。 如果指定的值無效,元件應該會擲回例外狀況,該例外狀況會向上傳遞。 您應該設計 屬性,讓 「GetMyProperty」 方法 (您在 “SetMyProperty” 方法之後實作) 傳回 “SetMyProperty” 方法在 “SetMyProperty” 方法未擲回例外狀況時傳入的值。