AttributeCollection Class

Definición

Representa una colección de atributos. Represents a collection of attributes.

[System.Runtime.InteropServices.ComVisible(true)]
public class AttributeCollection : System.Collections.ICollection
Herencia
AttributeCollection
Atributos
Implementaciones

Ejemplos

El primer ejemplo de código se comprueba para ver si el BrowsableAttribute se ha establecido en esta colección.The first code example checks to see whether the BrowsableAttribute has been set in this collection. El segundo ejemplo de código obtiene el valor real de la DescriptionAttribute para un botón.The second code example gets the actual value of the DescriptionAttribute for a button. Ambos ejemplos requieren que button1 y textBox1 se han creado en un formulario.Both examples require that button1 and textBox1 have been created on a form. Al usar atributos, compruebe que se ha establecido un atributo o acceso a su valor.When using attributes, verify that an attribute has been set, or access its value.

private:
   void ContainsAttribute()
   {
      // Creates a new collection and assigns it the attributes for button1.
      AttributeCollection^ attributes;
      attributes = TypeDescriptor::GetAttributes( button1 );
      
      // Sets an Attribute to the specific attribute.
      BrowsableAttribute^ myAttribute = BrowsableAttribute::Yes;

      if ( attributes->Contains( myAttribute ) )
      {
         textBox1->Text = "button1 has a browsable attribute.";
      }
      else
      {
         textBox1->Text = "button1 does not have a browsable attribute.";
      }
   }
private void ContainsAttribute() {
    // Creates a new collection and assigns it the attributes for button1.
    AttributeCollection attributes;
    attributes = TypeDescriptor.GetAttributes(button1);
 
    // Sets an Attribute to the specific attribute.
    BrowsableAttribute myAttribute = BrowsableAttribute.Yes;
 
    if (attributes.Contains(myAttribute))
       textBox1.Text = "button1 has a browsable attribute.";
    else
       textBox1.Text = "button1 does not have a browsable attribute.";
 }
Private Sub ContainsAttribute()
    ' Creates a new collection and assigns it the attributes for button1.
    Dim attributes As AttributeCollection
    attributes = TypeDescriptor.GetAttributes(button1)
    
    ' Sets an Attribute to the specific attribute.
    Dim myAttribute As BrowsableAttribute = BrowsableAttribute.Yes
    
    If attributes.Contains(myAttribute) Then
        textBox1.Text = "button1 has a browsable attribute."
    Else
        textBox1.Text = "button1 does not have a browsable attribute."
    End If
End Sub 'ContainsAttribute
private:
   void GetAttributeValue()
   {
      // Creates a new collection and assigns it the attributes for button1.
      AttributeCollection^ attributes;
      attributes = TypeDescriptor::GetAttributes( button1 );
      
      // Gets the designer attribute from the collection.
      DesignerAttribute^ myDesigner;
      myDesigner = (DesignerAttribute^)(attributes[DesignerAttribute::typeid]);
      
      // Prints the value of the attribute in a text box.
      textBox1->Text = myDesigner->DesignerTypeName;
   }
private void GetAttributeValue() {
    // Creates a new collection and assigns it the attributes for button1.
    AttributeCollection attributes;
    attributes = TypeDescriptor.GetAttributes(button1);
 
    // Gets the designer attribute from the collection.
    DesignerAttribute myDesigner; 
    myDesigner = (DesignerAttribute)attributes[typeof(DesignerAttribute)];
 
    // Prints the value of the attribute in a text box.
    textBox1.Text = myDesigner.DesignerTypeName;
 }
Private Sub GetAttributeValue()
    ' Creates a new collection and assigns it the attributes for button1.
    Dim attributes As AttributeCollection
    attributes = TypeDescriptor.GetAttributes(button1)
    
    ' Gets the designer attribute from the collection.
    Dim myDesigner As DesignerAttribute
    myDesigner = CType(attributes(GetType(DesignerAttribute)), DesignerAttribute)
    
    ' Prints the value of the attribute in a text box.
    textBox1.Text = myDesigner.DesignerTypeName
End Sub 'GetAttributeValue

Comentarios

La AttributeCollection clase es de solo lectura; no implementa métodos para agregar o quitar atributos.The AttributeCollection class is read-only; it does not implement methods to add or remove attributes. Se debe heredar de esta clase para implementar estos métodos.You must inherit from this class to implement these methods.

Use el Count propiedad para buscar el número de atributos que existen en la colección.Use the Count property to find the number of attributes that exist in the collection.

También puede usar los métodos de esta clase para consultar la colección sobre su contenido.You can also use the methods of this class to query the collection about its contents. Llame a la Contains método para comprobar que un atributo especificado o una matriz de atributos existe en la colección.Call the Contains method to verify that a specified attribute or attribute array exists in the collection. Llame a la Matches método para comprobar que un atributo especificado o una matriz de atributos existe en la colección y que los valores de los atributos especificados son los mismos que los valores en la colección.Call the Matches method to verify that a specified attribute or array of attributes exists in the collection, and that the values of the specified attributes are the same as the values in the collection.

Aunque la mayoría de los atributos tiene valores predeterminados, valores predeterminados no son necesarios.While most attributes have default values, default values are not required. Si un atributo no tiene ningún valor predeterminado, null se devuelve desde la propiedad indizada que toma un tipo.If an attribute has no default value, null is returned from the indexed property that takes a type. Al definir sus propios atributos, puede declarar un valor predeterminado que proporciona un constructor que no toma ningún argumento, o bien definir un campo estático público de su tipo de atributo denominado "Default".When defining your own attributes, you can declare a default value by either providing a constructor that takes no arguments, or defining a public static field of your attribute type named "Default".

Constructores

AttributeCollection()

Inicializa una nueva instancia de la clase AttributeCollection. Initializes a new instance of the AttributeCollection class.

AttributeCollection(Attribute[])

Inicializa una nueva instancia de la clase AttributeCollection. Initializes a new instance of the AttributeCollection class.

Campos

Empty

Especifica una colección vacía que se puede usar en lugar de crear una nueva. Specifies an empty collection that you can use, rather than creating a new one. Este campo es de solo lectura. This field is read-only.

Propiedades

Attributes

Obtiene la colección de atributos. Gets the attribute collection.

Count

Obtiene el número de atributos. Gets the number of attributes.

Item[Int32]

Obtiene el atributo que tiene el número de índice especificado. Gets the attribute with the specified index number.

Item[Type]

Obtiene el atributo que tiene el tipo especificado. Gets the attribute with the specified type.

Métodos

Contains(Attribute)

Determina si esta colección de atributos tiene el atributo especificado. Determines whether this collection of attributes has the specified attribute.

Contains(Attribute[])

Determina si esta colección de atributos contiene todos los atributos especificados en la matriz de atributos. Determines whether this attribute collection contains all the specified attributes in the attribute array.

CopyTo(Array, Int32)

Copia la colección en una matriz, empezando por el índice especificado. Copies the collection to an array, starting at the specified index.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual. Determines whether the specified object is equal to the current object.

(Inherited from Object)
FromExisting(AttributeCollection, Attribute[])

Crea una nueva clase AttributeCollection a partir de una clase AttributeCollection existente. Creates a new AttributeCollection from an existing AttributeCollection.

GetDefaultAttribute(Type)

Devuelve el Attribute predeterminado de un tipo (Type) dado. Returns the default Attribute of a given Type.

GetEnumerator()

Obtiene un enumerador para esta colección. Gets an enumerator for this collection.

GetHashCode()

Sirve como la función hash predeterminada. Serves as the default hash function.

(Inherited from Object)
GetType()

Obtiene el Type de la instancia actual. Gets the Type of the current instance.

(Inherited from Object)
Matches(Attribute)

Determina si un atributo especificado es igual a un atributo de la colección. Determines whether a specified attribute is the same as an attribute in the collection.

Matches(Attribute[])

Determina si los atributos en la matriz especificada son iguales a los de la colección. Determines whether the attributes in the specified array are the same as the attributes in the collection.

MemberwiseClone()

Crea una copia superficial del Object actual. Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Devuelve una cadena que representa el objeto actual. Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

ICollection.Count

Obtiene el número de elementos contenido en la colección. Gets the number of elements contained in the collection.

ICollection.IsSynchronized

Obtiene un valor que indica si el acceso a la colección está sincronizado (es seguro para la ejecución de subprocesos). Gets a value indicating whether access to the collection is synchronized (thread-safe).

ICollection.SyncRoot

Obtiene un objeto que se puede utilizar para sincronizar el acceso a la colección. Gets an object that can be used to synchronize access to the collection.

IEnumerable.GetEnumerator()

Devuelve una interfaz IEnumerator para la interfaz IDictionary. Returns an IEnumerator for the IDictionary.

Se aplica a

Consultar también