Compartir a través de


AttributeCollection.Contains Método

Definición

Determina si esta colección de atributos tiene el atributo o la matriz de atributos especificados.

Sobrecargas

Contains(Attribute)

Determina si esta colección de atributos tiene el atributo especificado.

Contains(Attribute[])

Determina si esta colección de atributos contiene todos los atributos especificados en la matriz de atributos.

Contains(Attribute)

Source:
AttributeCollection.cs
Source:
AttributeCollection.cs
Source:
AttributeCollection.cs

Determina si esta colección de atributos tiene el atributo especificado.

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

Parámetros

attribute
Attribute

Attribute que se buscará en la colección.

Devoluciones

true si la colección contiene el atributo o es el atributo predeterminado del tipo de atributo; en caso contrario, false.

Ejemplos

En el ejemplo de código siguiente se comprueba si la colección tiene establecido en BrowsableAttributetrue. Se supone que button1 y textBox1 se han creado en un formulario.

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

Comentarios

Esta colección tiene el atributo especificado si el tipo de atributo especificado existe en la colección y si el valor del atributo especificado es el mismo que el valor de la instancia del atributo en la colección.

La diferencia entre los Matches métodos y Contains es que Matches llama al Match método en un atributo y Contains llama al Equals método .

Para la mayoría de los atributos, estos métodos hacen lo mismo. Sin embargo, en el caso de los atributos que pueden tener varias marcas, Match normalmente se implementa para que devuelva true si se cumple alguna de las marcas. Por ejemplo, considere un atributo de enlace de datos con las marcas booleanas "SupportsSql", "SupportsOleDb" y "SupportsXml". Este atributo puede estar presente en una propiedad que admita los tres enfoques de enlace de datos. A menudo, será el caso de que un programador necesite saber solo si hay disponible un enfoque determinado, no los tres. Por lo tanto, un programador podría usar Match con una instancia del atributo que contiene solo las marcas que necesita el programador.

Consulte también

Se aplica a

Contains(Attribute[])

Source:
AttributeCollection.cs
Source:
AttributeCollection.cs
Source:
AttributeCollection.cs

Determina si esta colección de atributos contiene todos los atributos especificados en la matriz de atributos.

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

Parámetros

attributes
Attribute[]

Matriz de tipo Attribute que se buscará en la colección.

Devoluciones

true si la colección contiene todos los atributos; en caso contrario, false.

Ejemplos

En el ejemplo de código siguiente se comparan los atributos de button1 y textBox1 para ver si los atributos del botón están contenidos en los atributos del cuadro de texto. Se supone que tanto como button1textBox1 se han creado en un formulario.

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

Comentarios

Esta colección tiene la matriz especificada de atributos si todos los tipos de atributo especificados existen en la colección y si cada atributo de la matriz especificada es el mismo que un atributo de la colección.

Consulte también

Se aplica a