Поделиться через


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 , чтобы указать, что транзакция завершена.

Цель транзакции — поддержка Undo и Redo функциональные возможности.

Примечания для тех, кто реализует этот метод

При переопределении этого метода он должен задать значение свойства, вызвав соответствующий метод SetMyProperty, который необходимо реализовать. Если указанное значение является недопустимым, компонент должен вызвать исключение, которое передается. Необходимо спроектировать свойство таким образом, чтобы метод GetMyProperty (который вы реализовали) после метода SetMyProperty возвращал значение, переданное в , если метод SetMyProperty не создает исключение.

Применяется к

См. также раздел