PropertyDescriptor.ResetValue(Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Quando substituído em uma classe derivada, redefine o valor dessa propriedade do componente para o valor padrão.
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)
Parâmetros
- component
- Object
O componente com o valor da propriedade que deve ser redefinido para o valor padrão.
Comentários
Normalmente, esse método é implementado por meio de reflexão.
Esse método determina o valor para o qual redefinir a propriedade na seguinte ordem de precedência:
Há uma propriedade sombreada para essa propriedade.
Há um DefaultValueAttribute para essa propriedade.
Há um método "ResetMyProperty" que você implementou, em que "MyProperty" é o nome da propriedade que você passa para ele.
Esse método cria um DesignerTransaction automaticamente na seguinte ordem:
O método chama o IDesignerHost.CreateTransaction método para criar um novo DesignerTransaction para representar as alterações.
O método chama o IComponentChangeService.OnComponentChanging método para indicar que a transação foi iniciada e as alterações estão prestes a ocorrer.
O método redefine a propriedade para o valor determinado pela ordem de verificação desse método.
O método chama o IComponentChangeService.OnComponentChanged método para indicar que as alterações ocorreram.
O método chama DesignerTransaction.Commit para indicar que a transação foi concluída.
A finalidade da transação é dar suporte Undo
e Redo
funcionalidade.
Notas aos Implementadores
Quando substituído em uma classe derivada, esse método procura um DefaultValueAttribute. Se encontrar um, ele definirá o valor da propriedade como o DefaultValueAttribute encontrado. Se esse método não puder encontrar um DefaultValueAttribute, ele procurará um método "ResetMyProperty" que você precisa implementar. Se isso for encontrado, o método o ResetValue(Object) invocará. Se ResetValue(Object) não for possível encontrar um DefaultValueAttribute método "ResetMyProperty" ou que você implementou, ele não executará uma operação.