AttributeCollection Osztály

Definíció

Attribútumgyűjteményt jelöl.

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
Öröklődés
AttributeCollection
Attribútumok
Megvalósítás

Példák

Az első példakód ellenőrzi, hogy a BrowsableAttribute gyűjtemény be van-e állítva. A második példakód lekéri a DescriptionAttribute gomb tényleges értékét. Mindkét példa megköveteli ezt, button1 és textBox1 egy űrlapon lett létrehozva. Attribútumok használatakor ellenőrizze, hogy egy attribútum be van-e állítva, vagy hogy hozzáfér-e az értékéhez.

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

Megjegyzések

Az AttributeCollection osztály írásvédett; nem implementál attribútumok hozzáadására vagy eltávolítására szolgáló metódusokat. A metódusok implementálásához örökölnie kell ezt az osztályt.

Használja a Count tulajdonságot a gyűjteményben található attribútumok számának megkereséséhez.

Az osztály metódusaival lekérdezheti a gyűjtemény tartalmát. Hívja meg a Contains metódust annak ellenőrzéséhez, hogy egy adott attribútum vagy attribútumtömb létezik-e a gyűjteményben. Hívja meg a Matches metódust annak ellenőrzéséhez, hogy egy adott attribútum vagy attribútumtömb létezik-e a gyűjteményben, és hogy a megadott attribútumok értékei megegyeznek-e a gyűjtemény értékeivel.

Bár a legtöbb attribútum alapértelmezett értékekkel rendelkezik, az alapértelmezett értékekre nincs szükség. Ha egy attribútum nem rendelkezik alapértelmezett értékkel, null a rendszer egy típust használó indexelt tulajdonságból adja vissza. Saját attribútumok definiálásakor deklarálhat egy alapértelmezett értéket egy olyan konstruktor megadásával, amely nem vesz fel argumentumokat, vagy meghatároz egy "Default" nevű attribútumtípusú nyilvános statikus mezőt.

Konstruktorok

Name Description
AttributeCollection()

Inicializálja a AttributeCollection osztály új példányát.

AttributeCollection(Attribute[])

Inicializálja a AttributeCollection osztály új példányát.

Mezők

Name Description
Empty

Egy üres gyűjteményt ad meg, amelyet használhat új helyett. Ez a mező csak olvasható.

Tulajdonságok

Name Description
Attributes

Lekéri az attribútumgyűjteményt.

Count

Lekéri az attribútumok számát.

Item[Int32]

Lekéri az attribútumot a megadott indexszámmal.

Item[Type]

Lekéri a megadott típusú attribútumot.

Metódusok

Name Description
Contains(Attribute)

Meghatározza, hogy az attribútumgyűjtemény rendelkezik-e a megadott attribútummal.

Contains(Attribute[])

Meghatározza, hogy ez az attribútumgyűjtemény tartalmazza-e az attribútumtömb összes megadott attribútumát.

CopyTo(Array, Int32)

A gyűjteményt egy tömbbe másolja a megadott indextől kezdve.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
FromExisting(AttributeCollection, Attribute[])

Újat AttributeCollection hoz létre egy meglévőből AttributeCollection.

GetDefaultAttribute(Type)

Egy adott Attributeérték alapértelmezett értékét Type adja vissza.

GetEnumerator()

Lekéri a gyűjtemény enumerátorát.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
Matches(Attribute)

Meghatározza, hogy egy megadott attribútum megegyezik-e a gyűjtemény egyik attribútumával.

Matches(Attribute[])

Meghatározza, hogy a megadott tömb attribútumai megegyeznek-e a gyűjtemény attribútumaival.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

Name Description
ICollection.Count

Lekéri a gyűjteményben található elemek számát.

ICollection.IsSynchronized

Beolvas egy értéket, amely jelzi, hogy a gyűjteményhez való hozzáférés szinkronizálva van-e (szálbiztos).

ICollection.SyncRoot

Lekéri a gyűjteményhez való hozzáférés szinkronizálására használható objektumot.

IEnumerable.GetEnumerator()

Egy értéket ad IEnumerator vissza a IDictionary.

Bővítő metódusok

Name Description
AsParallel(IEnumerable)

Lehetővé teszi a lekérdezés párhuzamosítását.

AsQueryable(IEnumerable)

Átalakítja az egyiket IEnumerableIQueryable.

Cast<TResult>(IEnumerable)

Egy elem elemeit IEnumerable a megadott típusra veti.

OfType<TResult>(IEnumerable)

Egy adott típus alapján szűri IEnumerable egy adott elem elemeit.

A következőre érvényes:

Lásd még