Condividi tramite


AttributeCollection Classe

Definizione

Rappresenta una raccolta di attributi.

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

Esempio

Il primo esempio di codice controlla se è BrowsableAttribute stato impostato in questa raccolta. Il secondo esempio di codice ottiene il valore effettivo di DescriptionAttribute per un pulsante. Entrambi gli esempi richiedono che button1 e textBox1 siano stati creati in un modulo. Quando si usano attributi, verificare che sia stato impostato un attributo o accedervi.

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 AttributeCollection classe è di sola lettura e non implementa metodi per aggiungere o rimuovere attributi. Per implementare questi metodi, è necessario ereditare da questa classe.

Utilizzare la Count proprietà per trovare il numero di attributi presenti nell'insieme.

È anche possibile utilizzare i metodi di questa classe per eseguire una query sulla raccolta relativa al relativo contenuto. Chiamare il Contains metodo per verificare che nella raccolta esista un attributo o una matrice di attributi specificata. Chiamare il Matches metodo per verificare che nell'insieme esista un attributo o una matrice di attributi specificati e che i valori degli attributi specificati corrispondano ai valori dell'insieme.

Anche se la maggior parte degli attributi ha valori predefiniti, i valori predefiniti non sono obbligatori. Se un attributo non ha alcun valore predefinito, null viene restituito dalla proprietà indicizzata che accetta un tipo. 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".

Costruttori

AttributeCollection()

Inizializza una nuova istanza della classe AttributeCollection.

AttributeCollection(Attribute[])

Inizializza una nuova istanza della classe AttributeCollection.

Campi

Empty

Specifica un insieme vuoto da utilizzare invece di crearne uno nuovo. Questo campo è di sola lettura.

Proprietà

Attributes

Ottiene l'insieme di attributi.

Count

Ottiene il numero di attributi.

Item[Int32]

Ottiene l'attributo con il numero di indice specificato.

Item[Type]

Ottiene l'attributo con il tipo specificato.

Metodi

Contains(Attribute)

Consente di determinare se questo insieme di attributi dispone dell'attributo specificato.

Contains(Attribute[])

Consente di determinare se questo insieme di attributi contiene tutti gli attributi specificati nella matrice di attributi.

CopyTo(Array, Int32)

Consente di copiare l'insieme in una matrice partendo dall'indice specificato.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

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

Crea un nuovo insieme AttributeCollection da un insieme AttributeCollection esistente.

GetDefaultAttribute(Type)

Restituisce l'oggetto Attribute predefinito di un dato oggetto Type.

GetEnumerator()

Ottiene un enumeratore per questo insieme.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
Matches(Attribute)

Consente di determinare se un attributo specificato è uguale a un attributo nell'insieme.

Matches(Attribute[])

Consente di determinare se gli attributi nella matrice specificata sono uguali agli attributi dell'insieme.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.Count

Ottiene il numero di elementi contenuti nella raccolta.

ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso alla raccolta è sincronizzato (thread-safe).

ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta.

IEnumerable.GetEnumerator()

Restituisce IEnumerator per IDictionary.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche