IDesignerFilter.PreFilterAttributes(IDictionary) Método

Definición

Cuando se reemplaza en una clase derivada, permite que un diseñador agregue elementos al conjunto de atributos que se expone a través de un objeto 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

Objetos Attribute para la clase del componente. Las claves del diccionario de atributos son los valores de la propiedad TypeId de los atributos.

Comentarios

Este método proporciona una manera de agregar elementos al diccionario de atributos que expone el componente asociado del diseñador que implementa esta interfaz a través de .TypeDescriptor

Las claves del diccionario de atributos son los identificadores de tipo de los atributos. Los objetos son de tipo Attribute. Se llama a este método inmediatamente antes de PostFilterAttributes.

El identificador de tipo de un atributo puede ser cualquier objeto. De forma predeterminada, Attribute devuelve su Type como valor de su TypeId propiedad . Puede comprobar el TypeId de un atributo en el diccionario para ver la equivalencia con un atributo conocido TypeId para identificarlo o usar System.Reflection para identificar el propio objeto de atributo.

Cuando se agrega un atributo que tiene el mismo TypeId que un atributo existente o heredado a un componente, el nuevo atributo reemplaza al atributo anterior. Para muchos atributos, un nuevo atributo del mismo tipo reemplazará cualquier atributo anterior del tipo. Sin embargo, algunos tipos de atributos devuelven un TypeId que distingue el atributo de forma selectiva. Por ejemplo, para proporcionar diferentes tipos de diseñadores activos simultáneamente para un tipo, como y IRootDesigner , IDesignerla DesignerAttribute clase devuelve un TypeId que identifica de forma única tanto el atributo como el tipo de diseñador base. El DesignerAttribute constructor permite especificar el tipo de diseñador base del diseñador además de su tipo específico y DesignerAttribute devuelve un TypeId valor que refleja esto. Por lo tanto, al agregar un nuevo DesignerAttribute con un tipo de diseñador base del mismo tipo que el tipo de diseñador base de un existente DesignerAttribute, el atributo antiguo se reemplaza por el nuevo atributo.

Notas a los implementadores

Puede filtrar directamente el diccionario al que se puede acceder a través del attributes parámetro o dejarlo sin cambios. Si va a invalidar este método, llame a la implementación base después de realizar su propio filtrado.

Se aplica a

Consulte también