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

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

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

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

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

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