Teilen über


AttributeCollection Klasse

Definition

Stellt eine Auflistung von Attributen dar.

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
Vererbung
AttributeCollection
Attribute
Implementiert

Beispiele

Im ersten Codebeispiel wird überprüft, ob in BrowsableAttribute dieser Auflistung festgelegt wurde. Im zweiten Codebeispiel wird der tatsächliche Wert von DescriptionAttribute für eine Schaltfläche abgerufen. Beide Beispiele erfordern, dass button1 und textBox1 auf einem Formular erstellt wurden. Wenn Sie Attribute verwenden, überprüfen Sie, ob ein Attribut festgelegt wurde, oder greifen Sie auf dessen Wert zu.

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

Hinweise

Die AttributeCollection -Klasse ist schreibgeschützt. Sie implementiert keine Methoden zum Hinzufügen oder Entfernen von Attributen. Sie müssen von dieser Klasse erben, um diese Methoden zu implementieren.

Verwenden Sie die Count -Eigenschaft, um die Anzahl der Attribute zu ermitteln, die in der Auflistung vorhanden sind.

Sie können auch die Methoden dieser Klasse verwenden, um den Inhalt der Auflistung abzufragen. Rufen Sie die Contains -Methode auf, um zu überprüfen, ob ein angegebenes Attribut oder Attributarray in der Auflistung vorhanden ist. Rufen Sie die Matches -Methode auf, um zu überprüfen, ob ein angegebenes Attribut oder Array von Attributen in der Auflistung vorhanden ist und dass die Werte der angegebenen Attribute mit den Werten in der Auflistung übereinstimmen.

Obwohl die meisten Attribute Standardwerte aufweisen, sind keine Standardwerte erforderlich. Wenn ein Attribut keinen Standardwert aufweist, null wird von der indizierten Eigenschaft zurückgegeben, die einen Typ annimmt. Beim Definieren eigener Attribute können Sie einen Standardwert deklarieren, indem Sie entweder einen Konstruktor bereitstellen, der keine Argumente akzeptiert, oder indem Sie ein öffentliches statisches Feld Ihres Attributtyps namens "Default" definieren.

Konstruktoren

AttributeCollection()

Initialisiert eine neue Instanz der AttributeCollection-Klasse.

AttributeCollection(Attribute[])

Initialisiert eine neue Instanz der AttributeCollection-Klasse.

Felder

Empty

Gibt eine leere Auflistung an, die Sie verwenden können, um so keine neue Auflistung erstellen zu müssen. Dieses Feld ist schreibgeschützt.

Eigenschaften

Attributes

Ruft die Attributauflistung ab.

Count

Ruft die Anzahl der Attribute ab.

Item[Int32]

Ruft das Attribut mit der angegebenen Indexnummer ab.

Item[Type]

Ruft das Attribut mit dem angegebenen Typ ab.

Methoden

Contains(Attribute)

Bestimmt, ob das angegebene Attribut in dieser Auflistung von Attributen enthalten ist.

Contains(Attribute[])

Bestimmt, ob diese Auflistung von Attributen sämtliche angegebenen Attribute im Attributarray enthält.

CopyTo(Array, Int32)

Kopiert die Auflistung in ein Array, wobei am angegebenen Index begonnen wird.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
FromExisting(AttributeCollection, Attribute[])

Erstellt eine neue AttributeCollection-Klasse aus einer vorhandenen AttributeCollection-Klasse.

GetDefaultAttribute(Type)

Gibt die Attribute-Standardklasse einer bestimmten Type-Klasse zurück.

GetEnumerator()

Ruft einen Enumerator für diese Auflistung ab.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
Matches(Attribute)

Bestimmt, ob ein angegebenes Attribut mit einem Attribut in der Auflistung identisch ist.

Matches(Attribute[])

Bestimmt, ob die Attribute im angegebenen Array mit den Attributen in der Auflistung identisch sind.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ICollection.Count

Ruft die Anzahl der Elemente in der Auflistung ab.

ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die Auflistung synchronisiert (threadsicher) ist.

ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf die Auflistung synchronisiert werden kann.

IEnumerable.GetEnumerator()

Gibt einen IEnumerator für das IDictionaryzurück.

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für:

Weitere Informationen