AttributeCollection Classe

Definizione

Rappresenta una raccolta di attributi.Represents a collection of attributes.

public ref class AttributeCollection : System::Collections::ICollection
[System.Runtime.InteropServices.ComVisible(true)]
public class AttributeCollection : System.Collections.ICollection
type AttributeCollection = class
    interface ICollection
    interface IEnumerable
Public Class AttributeCollection
Implements ICollection
Ereditarietà
AttributeCollection
Attributi
Implementazioni

Esempi

Nel primo esempio di codice viene verificato se la BrowsableAttribute è stata impostata in questa raccolta.The first code example checks to see whether the BrowsableAttribute has been set in this collection. Il secondo esempio di codice ottiene il valore effettivo dell'DescriptionAttribute per un pulsante.The second code example gets the actual value of the DescriptionAttribute for a button. Per entrambi gli esempi è necessario che button1 e textBox1 siano stati creati in un modulo.Both examples require that button1 and textBox1 have been created on a form. Quando si usano gli attributi, verificare che sia stato impostato un attributo o accedere al relativo valore.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
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

Commenti

La classe AttributeCollection è di sola lettura. non implementa metodi per aggiungere o rimuovere attributi.The AttributeCollection class is read-only; it does not implement methods to add or remove attributes. Per implementare questi metodi, è necessario ereditare da questa classe.You must inherit from this class to implement these methods.

Utilizzare la proprietà Count per trovare il numero di attributi presenti nella raccolta.Use the Count property to find the number of attributes that exist in the collection.

È anche possibile usare i metodi di questa classe per eseguire una query sulla raccolta relativa al relativo contenuto.You can also use the methods of this class to query the collection about its contents. Chiamare il metodo Contains per verificare che nella raccolta esista un attributo o una matrice di attributi specificata.Call the Contains method to verify that a specified attribute or attribute array exists in the collection. Chiamare il metodo Matches per verificare che nella raccolta esista un attributo o una matrice di attributi specificata e che i valori degli attributi specificati corrispondano ai valori della raccolta.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.

Sebbene la maggior parte degli attributi includa valori predefiniti, i valori predefiniti non sono obbligatori.While most attributes have default values, default values are not required. Se un attributo non ha un valore predefinito, null viene restituito dalla proprietà indicizzata che accetta un tipo.If an attribute has no default value, null is returned from the indexed property that takes a type. Quando si definiscono attributi personalizzati, è possibile dichiarare un valore predefinito fornendo un costruttore che non accetta argomenti o definendo un campo statico pubblico del tipo di attributo denominato "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".

Costruttori

AttributeCollection()

Inizializza una nuova istanza della classe AttributeCollection.Initializes a new instance of the AttributeCollection class.

AttributeCollection(Attribute[])

Inizializza una nuova istanza della classe AttributeCollection.Initializes a new instance of the AttributeCollection class.

Campi

Empty

Specifica un insieme vuoto da utilizzare invece di crearne uno nuovo.Specifies an empty collection that you can use, rather than creating a new one. Il campo è di sola lettura.This field is read-only.

Proprietà

Attributes

Ottiene l'insieme di attributi.Gets the attribute collection.

Count

Ottiene il numero di attributi.Gets the number of attributes.

Item[Int32]

Ottiene l'attributo con il numero di indice specificato.Gets the attribute with the specified index number.

Item[Type]

Ottiene l'attributo con il tipo specificato.Gets the attribute with the specified type.

Metodi

Contains(Attribute)

Consente di determinare se questo insieme di attributi dispone dell'attributo specificato.Determines whether this collection of attributes has the specified attribute.

Contains(Attribute[])

Consente di determinare se questo insieme di attributi contiene tutti gli attributi specificati nella matrice di attributi.Determines whether this attribute collection contains all the specified attributes in the attribute array.

CopyTo(Array, Int32)

Consente di copiare l'insieme in una matrice partendo dall'indice specificato.Copies the collection to an array, starting at the specified index.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
FromExisting(AttributeCollection, Attribute[])

Crea un nuovo insieme AttributeCollection da un insieme AttributeCollection esistente.Creates a new AttributeCollection from an existing AttributeCollection.

GetDefaultAttribute(Type)

Restituisce l'oggetto Attribute predefinito di un dato oggetto Type.Returns the default Attribute of a given Type.

GetEnumerator()

Ottiene un enumeratore per la raccolta.Gets an enumerator for this collection.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
Matches(Attribute)

Consente di determinare se un attributo specificato è uguale a un attributo nell'insieme.Determines whether a specified attribute is the same as an attribute in the collection.

Matches(Attribute[])

Consente di determinare se gli attributi nella matrice specificata sono uguali agli attributi dell'insieme.Determines whether the attributes in the specified array are the same as the attributes in the collection.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.Count

Ottiene il numero di elementi contenuti nella raccolta.Gets the number of elements contained in the collection.

ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso alla raccolta è sincronizzato (thread-safe).Gets a value indicating whether access to the collection is synchronized (thread-safe).

ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta.Gets an object that can be used to synchronize access to the collection.

IEnumerable.GetEnumerator()

Restituisce un oggetto IEnumerator per IDictionary.Returns an IEnumerator for the IDictionary.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a

Vedi anche