IDesignerFilter.PreFilterAttributes(IDictionary) 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, 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 Attribute objetos da classe do componente. As chaves no dicionário de atributos são os TypeId valores 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 PostFilterAttributes.
A ID de tipo de um atributo pode ser qualquer objeto. Por padrão, Attribute retorna-o Type como o valor de sua TypeId propriedade. Você pode verificar o TypeId atributo no dicionário em busca de equivalência com um atributo conhecido TypeId para identificá-lo ou usar System.Reflection para identificar o próprio objeto de atributo.
Quando um atributo que tem o mesmo TypeId que um 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.