PropertyDescriptor.SetValue(Object, Object) 方法

定義

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

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

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

  2. 該方法呼叫 該 IComponentChangeService.OnComponentChanging 方法,表示交易已開始且變更即將發生。

  3. 該方法會將屬性重置為由該方法檢查順序所決定的值。

  4. 該方法呼叫該 IComponentChangeService.OnComponentChanged 方法以表示變更已發生。

  5. 該方法呼叫 DesignerTransaction.Commit 以表示交易已完成。

交易的目的是提供支援 UndoRedo 功能。

給實施者的注意事項

當你覆寫這個方法時,它應該會透過呼叫你需要實作的相應「SetMyProperty」方法來設定屬性的值。 若指定的值無效,元件應拋出例外,但會跳過。 你應該設計這個屬性,讓你實作的「GetMyProperty」方法在「SetMyProperty」方法之後,回傳當「SetMyProperty」方法沒有拋出例外時,會回傳傳入的值。

適用於

另請參閱