AttributeCollection Klas

Definitie

Vertegenwoordigt een verzameling kenmerken.

public ref class AttributeCollection : System::Collections::ICollection
[System.Runtime.InteropServices.ComVisible(true)]
public class AttributeCollection : System.Collections.ICollection
public class AttributeCollection : System.Collections.ICollection
[<System.Runtime.InteropServices.ComVisible(true)>]
type AttributeCollection = class
    interface ICollection
    interface IEnumerable
type AttributeCollection = class
    interface ICollection
    interface IEnumerable
Public Class AttributeCollection
Implements ICollection
Overname
AttributeCollection
Kenmerken
Implementeringen

Voorbeelden

In het eerste codevoorbeeld wordt gecontroleerd of de BrowsableAttribute code is ingesteld in deze verzameling. In het tweede codevoorbeeld wordt de werkelijke waarde van de DescriptionAttribute knop opgehaald. Beide voorbeelden vereisen dat button1 en textBox1 zijn gemaakt op een formulier. Wanneer u kenmerken gebruikt, controleert u of een kenmerk is ingesteld of opent u de waarde ervan.

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

Opmerkingen

De AttributeCollection klasse heeft het kenmerk Alleen-lezen. Er worden geen methoden geïmplementeerd om kenmerken toe te voegen of te verwijderen. U moet overnemen van deze klasse om deze methoden te implementeren.

Gebruik de Count eigenschap om het aantal kenmerken te vinden dat in de verzameling aanwezig is.

U kunt ook de methoden van deze klasse gebruiken om een query uit te voeren op de verzameling over de inhoud ervan. Roep de Contains methode aan om te controleren of er een opgegeven kenmerk- of kenmerkmatrix bestaat in de verzameling. Roep de Matches methode aan om te controleren of er een opgegeven kenmerk of matrix van kenmerken in de verzameling bestaat en dat de waarden van de opgegeven kenmerken gelijk zijn aan de waarden in de verzameling.

Hoewel de meeste kenmerken standaardwaarden hebben, zijn standaardwaarden niet vereist. Als een kenmerk geen standaardwaarde heeft, null wordt deze geretourneerd vanuit de geïndexeerde eigenschap die een type gebruikt. Wanneer u uw eigen kenmerken definieert, kunt u een standaardwaarde declareren door een constructor op te geven die geen argumenten gebruikt of een openbaar statisch veld van uw kenmerktype met de naam Standaard definiëren.

Constructors

Name Description
AttributeCollection()

Initialiseert een nieuw exemplaar van de AttributeCollection klasse.

AttributeCollection(Attribute[])

Initialiseert een nieuw exemplaar van de AttributeCollection klasse.

Velden

Name Description
Empty

Hiermee geeft u een lege verzameling op die u kunt gebruiken in plaats van een nieuwe te maken. Dit veld is alleen-lezen.

Eigenschappen

Name Description
Attributes

Hiermee haalt u de kenmerkverzameling op.

Count

Hiermee haalt u het aantal kenmerken op.

Item[Int32]

Hiermee haalt u het kenmerk op met het opgegeven indexnummer.

Item[Type]

Hiermee haalt u het kenmerk op met het opgegeven type.

Methoden

Name Description
Contains(Attribute)

Bepaalt of deze verzameling kenmerken het opgegeven kenmerk heeft.

Contains(Attribute[])

Bepaalt of deze kenmerkverzameling alle opgegeven kenmerken in de kenmerkmatrix bevat.

CopyTo(Array, Int32)

Kopieert de verzameling naar een matrix, beginnend bij de opgegeven index.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
FromExisting(AttributeCollection, Attribute[])

Hiermee maakt u een nieuwe AttributeCollection op basis van een bestaande AttributeCollection.

GetDefaultAttribute(Type)

Retourneert de standaardwaarde Attribute van een gegeven Type.

GetEnumerator()

Hiermee haalt u een enumerator op voor deze verzameling.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
Matches(Attribute)

Bepaalt of een opgegeven kenmerk hetzelfde is als een kenmerk in de verzameling.

Matches(Attribute[])

Bepaalt of de kenmerken in de opgegeven matrix hetzelfde zijn als de kenmerken in de verzameling.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
ICollection.Count

Hiermee haalt u het aantal elementen op dat in de verzameling is opgenomen.

ICollection.IsSynchronized

Hiermee wordt een waarde opgehaald die aangeeft of de toegang tot de verzameling is gesynchroniseerd (thread-safe).

ICollection.SyncRoot

Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot de verzameling te synchroniseren.

IEnumerable.GetEnumerator()

Retourneert een IEnumerator voor de IDictionary.

Extensiemethoden

Name Description
AsParallel(IEnumerable)

Hiermee schakelt u parallelle uitvoering van een query in.

AsQueryable(IEnumerable)

Converteert een IEnumerable naar een IQueryable.

Cast<TResult>(IEnumerable)

Cast de elementen van een IEnumerable naar het opgegeven type.

OfType<TResult>(IEnumerable)

Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type.

Van toepassing op

Zie ook