PropertyDescriptor.SetValue(Object, 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, define o valor do componente para um valor diferente.
public:
abstract void SetValue(System::Object ^ component, System::Object ^ value);
public abstract void SetValue (object component, 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)
Parâmetros
- component
- Object
O componente com o valor da propriedade que deve ser definida.
- value
- Object
O novo valor.
Comentários
Normalmente, esse método é implementado por meio de reflexão.
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 você substitui esse método, ele deve definir o valor da propriedade invocando o método apropriado "SetMyProperty" que você precisa implementar. Se o valor especificado não for válido, o componente deverá gerar uma exceção, que é passada para cima. Você deve projetar a propriedade para que um método "GetMyProperty" (que você implementou) após um método "SetMyProperty" retorne o valor passado quando o método "SetMyProperty" não gerar uma exceção.