Compartilhar via


PropertyDescriptor.SetValue(Object, Object) Método

Definição

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:

  1. O método chama o IDesignerHost.CreateTransaction método para criar um novo DesignerTransaction para representar as alterações.

  2. 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.

  3. O método redefine a propriedade para o valor determinado pela ordem de verificação desse método.

  4. O método chama o IComponentChangeService.OnComponentChanged método para indicar que as alterações ocorreram.

  5. 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.

Aplica-se a

Confira também