AttributeCollection.Matches Metoda

Definicja

Określa, czy określony atrybut lub tablica atrybutów jest taka sama jak atrybut lub tablica atrybutów w kolekcji.Determines whether a specified attribute or array of attributes is the same as an attribute or array of attributes in the collection.

Przeciążenia

Matches(Attribute)

Określa, czy określony atrybut jest taki sam jak atrybut w kolekcji.Determines whether a specified attribute is the same as an attribute in the collection.

Matches(Attribute[])

Określa, czy atrybuty w określonej tablicy są takie same jak atrybuty w kolekcji.Determines whether the attributes in the specified array are the same as the attributes in the collection.

Matches(Attribute)

Określa, czy określony atrybut jest taki sam jak atrybut w kolekcji.Determines whether a specified attribute is the same as an attribute in the collection.

public:
 bool Matches(Attribute ^ attribute);
public bool Matches (Attribute attribute);
member this.Matches : Attribute -> bool
Public Function Matches (attribute As Attribute) As Boolean

Parametry

attribute
Attribute

Wystąpienie Attribute do porównania z atrybutami w tej kolekcji.An instance of Attribute to compare with the attributes in this collection.

Zwraca

Boolean

true Jeśli atrybut jest zawarty w kolekcji i ma taką samą wartość jak atrybut w kolekcji; w przeciwnym razie false .true if the attribute is contained within the collection and has the same value as the attribute in the collection; otherwise, false.

Przykłady

Poniższy przykład kodu sprawdza, czy BrowsableAttribute jest członkiem kolekcji i że został ustawiony na true .The following code example verifies that the BrowsableAttribute is a member of the collection and that it has been set to true. Przyjęto założenie, że button1 i zostały textBox1 utworzone w formularzu.It assumes that button1 and textBox1 have been created on a form.

private:
   void MatchesAttribute()
   {
      // Creates a new collection and assigns it the attributes for button1.
      AttributeCollection^ attributes;
      attributes = TypeDescriptor::GetAttributes( button1 );
      
      // Checks to see if the browsable attribute is true.
      if ( attributes->Matches( BrowsableAttribute::Yes ) )
      {
         textBox1->Text = "button1 is browsable.";
      }
      else
      {
         textBox1->Text = "button1 is not browsable.";
      }
   }
private void MatchesAttribute() {
    // Creates a new collection and assigns it the attributes for button1.
    AttributeCollection attributes;
    attributes = TypeDescriptor.GetAttributes(button1);

    // Checks to see if the browsable attribute is true.
    if (attributes.Matches(BrowsableAttribute.Yes))
       textBox1.Text = "button1 is browsable.";
    else
       textBox1.Text = "button1 is not browsable.";
 }

Private Sub MatchesAttribute
    ' Creates a new collection and assigns it the attributes for button
    Dim attributes As AttributeCollection
    attributes = TypeDescriptor.GetAttributes(button1)

    ' Checks to see if the browsable attribute is true.
    If attributes.Matches(BrowsableAttribute.Yes) Then
        textBox1.Text = "button1 is browsable."
    Else
        textBox1.Text = "button1 is not browsable."
    End If
End Sub

Uwagi

Atrybut może zapewnić obsługę dopasowywania.An attribute can provide support for matching.

Różnica między Matches Contains metodami i polega na Matches wywołania Match metody w atrybucie i Contains wywołania Equals metody.The 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 może użyć Match 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ż

Dotyczy

Matches(Attribute[])

Określa, czy atrybuty w określonej tablicy są takie same jak atrybuty w kolekcji.Determines whether the attributes in the specified array are the same as the attributes in the collection.

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

Parametry

attributes
Attribute[]

Tablica MemberAttributes do porównania z atrybutami w tej kolekcji.An array of MemberAttributes to compare with the attributes in this collection.

Zwraca

Boolean

true Jeśli wszystkie atrybuty tablicy są zawarte w kolekcji i mają takie same wartości jak atrybuty w kolekcji; w przeciwnym razie false .true if all the attributes in the array are contained in the collection and have the same values as the attributes in the collection; otherwise, false.

Przykłady

Poniższy przykład kodu porównuje atrybuty w przycisku i polu tekstowym, aby sprawdzić, czy są one zgodne.The following code example compares the attributes in a button and a text box to see whether they match. Przyjęto założenie, że button1 i zostały textBox1 utworzone w formularzu.It assumes that button1 and textBox1 have been created on a form.

private:
   void MatchesAttributes()
   {
      // 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 match the attributes for textBox1.
      array<Attribute^>^ myAttrArray = gcnew array<Attribute^>(100);
      TypeDescriptor::GetAttributes( textBox1 )->CopyTo( myAttrArray, 0 );
      if ( myCollection->Matches( myAttrArray ) )
      {
         textBox1->Text = "The attributes in the button and text box match.";
      }
      else
      {
         textBox1->Text = "The attributes in the button and text box do not match.";
      }
   }
private void MatchesAttributes() {
   // 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 match the attributes for textBox1.
   Attribute[] myAttrArray = new Attribute[100];
   TypeDescriptor.GetAttributes(textBox1).CopyTo(myAttrArray, 0);
   if (myCollection.Matches(myAttrArray))
      textBox1.Text = "The attributes in the button and text box match.";
   else
      textBox1.Text = "The attributes in the button and text box do not match.";
}
Private Sub MatchesAttributes()
    ' 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 match the attributes.
    ' for textBox1.
    Dim myAttrArray(100) As Attribute
    TypeDescriptor.GetAttributes(textBox1).CopyTo(myAttrArray, 0)
    If myCollection.Matches(myAttrArray) Then
        textBox1.Text = "The attributes in the button and text box match."
    Else
        textBox1.Text = "The attributes in the button and text box do not match."
    End If
End Sub

Uwagi

Atrybut może zapewnić obsługę dopasowywania.An attribute can provide support for matching.

Zobacz też

Dotyczy