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, операция не выполняется.

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

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