PropertyDescriptor.SetValue(Object, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在衍生類別中覆寫時,將元件的值設定為不同的值。
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)
參數
- component
- Object
包含要設定屬性值的元件。
- value
- Object
新的值。
備註
通常,這種方法是透過反射來實現的。
此方法自動依下列順序產生 :DesignerTransaction
該方法呼叫 IDesignerHost.CreateTransaction 建立新 DesignerTransaction 方法來表示變更。
該方法呼叫 該 IComponentChangeService.OnComponentChanging 方法,表示交易已開始且變更即將發生。
該方法會將屬性重置為由該方法檢查順序所決定的值。
該方法呼叫該 IComponentChangeService.OnComponentChanged 方法以表示變更已發生。
該方法呼叫 DesignerTransaction.Commit 以表示交易已完成。
交易的目的是提供支援 Undo 與 Redo 功能。
給實施者的注意事項
當你覆寫這個方法時,它應該會透過呼叫你需要實作的相應「SetMyProperty」方法來設定屬性的值。 若指定的值無效,元件應拋出例外,但會跳過。 你應該設計這個屬性,讓你實作的「GetMyProperty」方法在「SetMyProperty」方法之後,回傳當「SetMyProperty」方法沒有拋出例外時,會回傳傳入的值。