PropertyDescriptor.SetValue(Object, Object) PropertyDescriptor.SetValue(Object, Object) PropertyDescriptor.SetValue(Object, Object) PropertyDescriptor.SetValue(Object, Object) Method

定義

派生クラスでオーバーライドされた場合、コンポーネントの値を別の値に設定します。When overridden in a derived class, sets the value of the component to a different value.

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 Object Object Object

設定する対象のプロパティ値を持つコンポーネント。The component with the property value that is to be set.

value
Object Object Object Object

新しい値。The new value.

注釈

通常、このメソッドは、リフレクションを介して実装されます。Typically, this method is implemented through reflection.

このメソッドを作成、DesignerTransaction次の順序で自動的に。This method creates a DesignerTransaction automatically in the following order:

  1. メソッドの呼び出し、IDesignerHost.CreateTransaction新たに作成するメソッドDesignerTransactionに変更を表します。The method calls the IDesignerHost.CreateTransaction method to create a new DesignerTransaction to represent the changes.

  2. メソッドの呼び出し、IComponentChangeService.OnComponentChangingメソッドをトランザクションが開始され、変更が発生することを示します。The method calls the IComponentChangeService.OnComponentChanging method to indicate that the transaction has begun and the changes are about to occur.

  3. メソッドは、このメソッドのチェックの順序によって決定される値にプロパティをリセットします。The method resets the property to the value determined by this method's checking order.

  4. メソッドの呼び出し、IComponentChangeService.OnComponentChangedメソッドを変更が発生したことを示します。The method calls the IComponentChangeService.OnComponentChanged method to indicate that the changes have occurred.

  5. メソッド呼び出しDesignerTransaction.Commitトランザクションが完全であることを示します。The method calls DesignerTransaction.Commit to indicate that the transaction is complete.

トランザクションの目的は、サポートするUndoRedo機能します。The purpose of the transaction is to support Undo and Redo functionality.

注意 (継承者)

このメソッドをオーバーライドする場合は、プロパティの値を実装する必要がある適切な"SetMyProperty"メソッドを呼び出すことによって設定があります。When you override this method, it should set the value of the property by invoking the appropriate "SetMyProperty" method that you need to implement. 指定された値が有効でない場合、コンポーネントを渡される例外をスローする必要があります。If the value specified is not valid, the component should throw an exception, which is passed up. (を実装している) 次の"SetMyProperty"メソッド"GetMyProperty"メソッド"SetMyProperty"メソッドが例外をスローしない場合に渡された値を返されるように、プロパティをデザインする必要があります。You should design the property so that a "GetMyProperty" method (that you have implemented) following a "SetMyProperty" method returns the value passed in when the "SetMyProperty" method does not throw an exception.

適用対象

こちらもご覧ください