AttributeCollection.Contains Metoda

Definicja

Określa, czy ta kolekcja atrybutów ma określony atrybut lub tablicę atrybutów.Determines whether this collection of attributes has the specified attribute or array of attributes.

Przeciążenia

Contains(Attribute)

Określa, czy ta kolekcja atrybutów ma określony atrybut.Determines whether this collection of attributes has the specified attribute.

Contains(Attribute[])

Określa, czy ta kolekcja atrybutów zawiera wszystkie określone atrybuty w tablicy atrybutów.Determines whether this attribute collection contains all the specified attributes in the attribute array.

Contains(Attribute)

Określa, czy ta kolekcja atrybutów ma określony atrybut.Determines whether this collection of attributes has the specified attribute.

public:
 bool Contains(Attribute ^ attribute);
public bool Contains (Attribute attribute);
member this.Contains : Attribute -> bool

Parametry

attribute
Attribute

Attribute Aby znaleźć w kolekcji.An Attribute to find in the collection.

Zwraca

trueJeśli kolekcja zawiera atrybut lub jest atrybutem domyślnym typu atrybutu; w przeciwnym razie. falsetrue if the collection contains the attribute or is the default attribute for the type of attribute; otherwise, false.

Przykłady

Poniższy przykład kodu sprawdza, czy kolekcja ma BrowsableAttribute trueustawioną wartość.The following code example checks to see whether the collection has a BrowsableAttribute set to true. Przyjęto założenie textBox1 , że button1 i zostały utworzone w formularzu.It assumes that button1 and textBox1 have been created on a form.

protected:
   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 button.
    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

Uwagi

Ta kolekcja ma określony atrybut, jeśli określony typ atrybutu istnieje w kolekcji i jeśli wartość określonego atrybutu jest taka sama jak wartość wystąpienia atrybutu w kolekcji.This collection has the specified attribute if the specified type of attribute exists in the collection, and if the value of the specified attribute is the same as the value of the instance of the attribute in the collection.

Różnica Matches między Matches Contains Contains metodami i polega na wywołania Equals metody w atrybucie i wywołania metody. MatchThe difference between the Matches and Contains methods is that Matches calls the Match method on an attribute, and Contains calls the Equals method.

W przypadku większości atrybutów te metody są takie same.For most attributes, these methods do the same thing. W przypadku atrybutów, które mogą mieć wiele flag, Match jest to zwykle zaimplementowane, aby zwracały true , jeśli którykolwiek z flag jest spełniony.For attributes that may have multiple flags, however, Match is typically implemented so that it returns true if any of the flags are satisfied. Rozważmy na przykład atrybut powiązania danych z flagami logicznymi "SupportsSql", "SupportsOleDb" i "SupportsXml".For example, consider a data binding attribute with the Boolean flags "SupportsSql", "SupportsOleDb", and "SupportsXml". Ten atrybut może być obecny we właściwości, która obsługuje wszystkie trzy podejścia do powiązań danych.This attribute may be present on a property that supports all three data-binding approaches. Często zdarza się, że programista musi wiedzieć tylko wtedy, gdy konkretne podejście jest dostępne, nie wszystkie trzy.It will often be the case that a programmer needs to know only if a particular approach is available, not all three. W związku z tym programista Match może użyć z wystąpieniem atrybutu zawierającego tylko flagi, których potrzebuje programista.Therefore, a programmer could use Match with an instance of the attribute containing only the flags the programmer needs.

Zobacz też

Contains(Attribute[])

Określa, czy ta kolekcja atrybutów zawiera wszystkie określone atrybuty w tablicy atrybutów.Determines whether this attribute collection contains all the specified attributes in the attribute array.

public:
 bool Contains(cli::array <Attribute ^> ^ attributes);
public bool Contains (Attribute[] attributes);
member this.Contains : Attribute[] -> bool
Public Function Contains (attributes As Attribute()) As Boolean

Parametry

attributes
Attribute[]

Tablica typu Attribute do znalezienia w kolekcji.An array of type Attribute to find in the collection.

Zwraca

trueJeśli kolekcja zawiera wszystkie atrybuty; w przeciwnym razie. falsetrue if the collection contains all the attributes; otherwise, false.

Przykłady

Poniższy przykład kodu porównuje atrybuty w button1 i, textBox1 aby sprawdzić, czy atrybuty przycisku są zawarte w atrybutach pola tekstowego.The following code example compares the attributes in button1 and textBox1 to see whether the attributes for the button are contained in the attributes for the text box. Przyjęto założenie button1 , textBox1 że oba i zostały utworzone w formularzu.It assumes that both button1 and textBox1 have been created on a form.

private:
   void ContainsAttributes()
   {
      // Creates a new collection and assigns it the attributes for button1.
      AttributeCollection^ myCollection;
      myCollection = TypeDescriptor::GetAttributes( button1 );
      
      // Checks to see whether the attributes in myCollection are the attributes for textBox1.
      array<Attribute^>^ myAttrArray = gcnew array<Attribute^>(100);
      TypeDescriptor::GetAttributes( textBox1 )->CopyTo( myAttrArray, 0 );
      if ( myCollection->Contains( myAttrArray ) )
      {
         textBox1->Text = "Both the button and text box have the same attributes.";
      }
      else
      {
         textBox1->Text = "The button and the text box do not have the same attributes.";
      }
   }
private void ContainsAttributes() {
   // Creates a new collection and assigns it the attributes for button1.
   AttributeCollection myCollection;
   myCollection = TypeDescriptor.GetAttributes(button1);    

   // Checks to see whether the attributes in myCollection are the attributes for textBox1.
   Attribute[] myAttrArray = new Attribute[100];
   TypeDescriptor.GetAttributes(textBox1).CopyTo(myAttrArray, 0);
   if (myCollection.Contains(myAttrArray))
      textBox1.Text = "Both the button and text box have the same attributes.";
   else
      textBox1.Text = "The button and the text box do not have the same attributes.";
}
Private Sub ContainsAttributes()
    ' Creates a new collection and assigns it the attributes for button1.
    Dim myCollection As AttributeCollection
    myCollection = TypeDescriptor.GetAttributes(button1)
      
    ' Checks to see whether the attributes in myCollection are the attributes for textBox1.
    Dim myAttrArray(100) As Attribute
    TypeDescriptor.GetAttributes(textBox1).CopyTo(myAttrArray, 0)
    If myCollection.Contains(myAttrArray) Then
        textBox1.Text = "Both the button and text box have the same attributes."
    Else
        textBox1.Text = "The button and the text box do not have the same attributes."
    End If
End Sub

Uwagi

Ta kolekcja ma określoną tablicę atrybutów, jeśli wszystkie określone typy atrybutów istnieją w kolekcji i jeśli każdy atrybut w określonej tablicy jest taki sam jak atrybut w kolekcji.This collection has the specified array of attributes if all the specified attribute types exist in the collection and if each attribute in the specified array is the same as an attribute in the collection.

Zobacz też

Dotyczy