Freigeben ü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 die BrowsableAttribute In dieser Auflistung festgelegt wurde. Im zweiten Codebeispiel wird der tatsächliche Wert der DescriptionAttribute Schaltfläche abgerufen. Für beide Beispiele ist es erforderlich, dass button1 sie textBox1 auf einem Formular erstellt wurden. Überprüfen Sie bei der Verwendung von Attributen, ob ein Attribut festgelegt wurde, oder greifen Sie auf seinen 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.";
      }
   }
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;

    textBox1.Text = attributes.Contains(myAttribute) ? "button1 has a browsable attribute." : "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;
   }
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 Klasse ist schreibgeschützt. Sie AttributeCollection 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 finden, die in der Auflistung vorhanden sind.

Sie können auch die Methoden dieser Klasse verwenden, um die Auflistung über den Inhalt 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 identisch sind.

Die meisten Attribute weisen zwar Standardwerte auf, Standardwerte sind jedoch nicht erforderlich. Wenn ein Attribut keinen Standardwert aufweist, wird von der indizierten Eigenschaft zurückgegeben, null die einen Typ verwendet. Beim Definieren eigener Attribute können Sie einen Standardwert deklarieren, indem Sie entweder einen Konstruktor bereitstellen, der keine Argumente akzeptiert, oder ein öffentliches statisches Feld des Attributtyps "Default" definieren.

Konstruktoren

Name Beschreibung
AttributeCollection()

Initialisiert eine neue Instanz der AttributeCollection-Klasse.

AttributeCollection(Attribute[])

Initialisiert eine neue Instanz der AttributeCollection-Klasse.

Felder

Name Beschreibung
Empty

Gibt eine leere Auflistung an, die Sie verwenden können, anstatt eine neue zu erstellen. Dieses Feld ist schreibgeschützt.

Eigenschaften

Name Beschreibung
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

Name Beschreibung
Contains(Attribute)

Bestimmt, ob diese Auflistung von Attributen das angegebene Attribut aufweist.

Contains(Attribute[])

Bestimmt, ob diese Attributauflistung alle angegebenen Attribute im Attributarray enthält.

CopyTo(Array, Int32)

Kopiert die Auflistung in ein Array, beginnend am angegebenen Index.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

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

Erstellt ein neues AttributeCollection aus einem vorhandenen AttributeCollection.

GetDefaultAttribute(Type)

Gibt den Standardwert Attribute eines angegebenen TypeWerts zurück.

GetEnumerator()

Ruft einen Enumerator für diese Auflistung ab.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die 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 der aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
ICollection.Count

Ruft die Anzahl der In der Auflistung enthaltenen Elemente ab.

ICollection.IsSynchronized

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

ICollection.SyncRoot

Ruft ein Objekt ab, das zum Synchronisieren des Zugriffs auf die Auflistung verwendet werden kann.

IEnumerable.GetEnumerator()

Gibt einen IEnumerator Wert für das IDictionary.

Erweiterungsmethoden

Name Beschreibung
AsParallel(IEnumerable)

Aktiviert die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Wandelt eine IEnumerable in eine IQueryableum.

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um.

OfType<TResult>(IEnumerable)

Filtert die Elemente einer IEnumerable basierend auf einem angegebenen Typ.

Gilt für:

Weitere Informationen