Compartilhar via


IDesignerFilter.PreFilterAttributes(IDictionary) Método

Definição

Quando substituído em uma classe derivada, permite que um designer adicione itens ao conjunto de atributos que ele expõe por meio de um TypeDescriptor.

public:
 void PreFilterAttributes(System::Collections::IDictionary ^ attributes);
public void PreFilterAttributes (System.Collections.IDictionary attributes);
abstract member PreFilterAttributes : System.Collections.IDictionary -> unit
Public Sub PreFilterAttributes (attributes As IDictionary)

Parâmetros

attributes
IDictionary

Os objetos Attribute para a classe do componente. As chaves no dicionário de atributos são os valores TypeId dos atributos.

Comentários

Esse método fornece uma maneira de adicionar itens ao dicionário de atributos que o componente associado do designer que implementa essa interface expõe por meio de um TypeDescriptor.

As chaves no dicionário de atributos são as IDs de tipo dos atributos. Os objetos são do tipo Attribute. Esse método é chamado imediatamente antes PostFilterAttributesde .

A ID de tipo de um atributo pode ser qualquer objeto. Por padrão, Attribute retorna como Type o valor de sua TypeId propriedade. Você pode marcar o TypeId de um atributo no dicionário para equivalência com um conhecido TypeId por um atributo para identificá-lo ou usar System.Reflection para identificar o próprio objeto de atributo.

Quando um atributo que tem o mesmo TypeId atributo existente ou herdado é adicionado a um componente, o novo atributo substitui o atributo antigo. Para muitos atributos, um novo atributo do mesmo tipo substituirá qualquer atributo anterior do tipo. No entanto, alguns tipos de atributos retornam um TypeId que distingue o atributo seletivamente. Por exemplo, para fornecer diferentes tipos de designers ativos simultaneamente para um tipo, como um IRootDesigner e um IDesigner, a DesignerAttribute classe retorna um TypeId que identifica exclusivamente o atributo e o tipo de designer base. O DesignerAttribute construtor permite que você especifique o tipo de designer base do designer, além de seu tipo específico, e DesignerAttribute retorna um TypeId que reflete isso. Portanto, quando você adiciona um novo DesignerAttribute com um tipo de designer base do mesmo tipo que o tipo de designer base de um existente DesignerAttribute, o atributo antigo é substituído pelo novo atributo.

Notas aos Implementadores

Você pode filtrar diretamente o dicionário acessível por meio do attributes parâmetro ou deixá-lo inalterado. Se você estiver substituindo esse método, chame a implementação base depois de executar sua própria filtragem.

Aplica-se a

Confira também