PropertyDescriptor.ResetValue(Object) Метод

Определение

При переопределении в производном классе сбрасывает значение этого свойства компонента в значение по умолчанию.

public:
 abstract void ResetValue(System::Object ^ component);
public abstract void ResetValue(object component);
abstract member ResetValue : obj -> unit
Public MustOverride Sub ResetValue (component As Object)

Параметры

component
Object

Компонент со значением свойства, которое необходимо сбросить в значение по умолчанию.

Комментарии

Как правило, этот метод реализуется с помощью отражения.

Этот метод определяет значение для сброса свойства в следующем порядке приоритета:

  1. Для этого свойства существует теневое свойство.

  2. Для этого свойства имеется свойство DefaultValueAttribute .

  3. Существует метод ResetMyProperty, который вы реализовали, где "MyProperty" — это имя передаваемого свойства.

Этот метод создает DesignerTransaction автоматически в следующем порядке:

  1. Метод вызывает IDesignerHost.CreateTransaction метод для создания нового DesignerTransaction для представления изменений.

  2. Метод вызывает IComponentChangeService.OnComponentChanging метод, чтобы указать, что транзакция началась, и изменения происходят.

  3. Метод сбрасывает свойство в значение, определенное порядком проверки этого метода.

  4. Метод вызывает IComponentChangeService.OnComponentChanged метод, чтобы указать, что произошли изменения.

  5. Вызовы DesignerTransaction.Commit метода, указывающие, что транзакция завершена.

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

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

При переопределении в производном классе этот метод ищет .DefaultValueAttribute Если он находит его, он задает значение найденного свойства DefaultValueAttribute . Если этот метод не удается найти DefaultValueAttribute, он ищет метод ResetMyProperty, который необходимо реализовать. Если это найдено, ResetValue(Object) метод вызывает его. Если ResetValue(Object) не удается найти DefaultValueAttribute или метод ResetMyProperty, реализованный, он не выполняет операцию.

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

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