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
Компонент со значением свойства, которое нужно сбросить в значение по умолчанию.
Комментарии
Как правило, этот метод реализуется с помощью отражения.
Этот метод определяет значение для сброса свойства в следующем порядке приоритета:
Для этого свойства есть теневое свойство.
Для этого свойства имеется DefaultValueAttribute .
Существует реализованный вами метод ResetMyProperty, где MyProperty — это имя передаваемого свойства.
Этот метод автоматически создает DesignerTransaction объект в следующем порядке:
Метод вызывает IDesignerHost.CreateTransaction метод для создания нового DesignerTransaction объекта для представления изменений.
Метод вызывает метод , IComponentChangeService.OnComponentChanging чтобы указать, что транзакция началась и изменения должны произойти.
Метод сбрасывает свойство до значения, определенного порядком проверки этого метода.
Метод вызывает метод , IComponentChangeService.OnComponentChanged чтобы указать, что произошли изменения.
Метод вызывает DesignerTransaction.Commit , чтобы указать, что транзакция завершена.
Цель транзакции — поддержка Undo
и Redo
функциональные возможности.
Примечания для тех, кто реализует этот метод
При переопределении в производном классе этот метод ищет DefaultValueAttribute. Если он находит его, он присваивает свойству значение найденного DefaultValueAttribute . Если этому методу DefaultValueAttributeне удается найти , он ищет метод ResetMyProperty, который необходимо реализовать. Если это обнаружено, ResetValue(Object) метод вызывает его. Если ResetValue(Object) не удается найти DefaultValueAttribute или реализованный метод ResetMyProperty, операция не выполняется.