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 не создает исключение.

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

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