IDesignerFilter.PostFilterAttributes(IDictionary) Method

Definition

Quando substituído em uma classe derivada, permite que um designer altere ou remova itens do conjunto de atributos que ele expõe por meio de um TypeDescriptor.When overridden in a derived class, allows a designer to change or remove items from the set of attributes that it exposes through a TypeDescriptor.

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

Parameters

attributes
IDictionary

Os objetos Attribute para a classe do componente.The Attribute objects for the class of the component. As chaves no dicionário de atributos são os valores TypeId dos atributos.The keys in the dictionary of attributes are the TypeId values of the attributes.

Remarks

Esse método fornece uma maneira de alterar ou remover itens dentro do dicionário de atributos que o componente associado do designer que implementa essa interface expõe por meio de um TypeDescriptor.This method provides a way to change or remove items within the dictionary of attributes that the associated component of the designer implementing this interface exposes through a TypeDescriptor.

As chaves no dicionário de atributos são as IDs de tipo dos atributos.The keys in the dictionary of attributes are the type IDs of the attributes. Os objetos são do tipo Attribute.The objects are of type Attribute. Esse método é chamado imediatamente após PreFilterAttributes.This method is called immediately after PreFilterAttributes.

A ID de tipo de um atributo pode ser qualquer objeto.The type ID of an attribute can be any object. Por padrão, Attribute retorna seu Type como o valor de sua propriedade TypeId.By default, Attribute returns its Type as the value of its TypeId property. Você pode verificar a TypeId de um atributo no dicionário para obter equivalência com um TypeId conhecido para um atributo para identificá-lo ou usar System.Reflection para identificar o objeto de atributo em si.You can check the TypeId of an attribute in the dictionary for equivalence with a known TypeId for an attribute to identify it, or use System.Reflection to identify the attribute object itself.

Quando um atributo que tem o mesmo TypeId como um atributo existente ou herdado é adicionado a um componente, o novo atributo substitui o atributo antigo.When an attribute that has the same TypeId as an existing or inherited attribute is added to a component, the new attribute replaces the old attribute. Para muitos atributos, um novo atributo do mesmo tipo substituirá qualquer atributo anterior do tipo.For many attributes, a new attribute of the same type will replace any previous attribute of the type. No entanto, alguns tipos de atributos retornam um TypeId que distingue o atributo de forma seletiva.However, some types of attributes return a TypeId that distinguishes the attribute selectively. Por exemplo, para fornecer tipos diferentes de designers simultaneamente ativos para um tipo, como um IRootDesigner e um IDesigner, a classe DesignerAttribute retorna um TypeId que identifica exclusivamente o atributo e o tipo de designer de base.For example, in order to provide different types of simultaneously active designers for a type, such as an IRootDesigner and an IDesigner, the DesignerAttribute class returns a TypeId that uniquely identifies both the attribute and the base designer type. O Construtor DesignerAttribute permite que você especifique o tipo de designer base do designer, além de seu tipo específico, e DesignerAttribute retorna uma TypeId que reflete isso.The DesignerAttribute constructor allows you to specify the base designer type of the designer in addition to its specific type, and DesignerAttribute returns a TypeId that reflects this. Portanto, quando você adiciona um novo DesignerAttribute com um tipo de designer base do mesmo tipo que o tipo de designer de base de um DesignerAttributeexistente, o atributo antigo é substituído pelo novo atributo.Therefore when you add a new DesignerAttribute with a base designer type of the same type as the base designer type of an existing DesignerAttribute, the old attribute is replaced with the new attribute.

Notes to Implementers

Você pode filtrar diretamente o dicionário que pode ser acessado por meio do parâmetro attributes ou pode deixá-lo inalterado.You can directly filter the dictionary that is accessible through the attributes parameter, or you can leave it unchanged. Se você estiver substituindo esse método, chame a implementação base depois de executar sua própria filtragem.If you are overriding this method, call the base implementation after you perform your own filtering.

Applies to

See also