Compartilhar via


AttributeCollection.Contains Método

Definição

Determina se esta coleção de atributos tem o atributo ou a matriz de atributos especificada.

Sobrecargas

Contains(Attribute)

Determina se esta coleção de atributos tem o atributo especificado.

Contains(Attribute[])

Determina se essa coleção de atributos contém todos os atributos especificados na matriz de atributos.

Contains(Attribute)

Origem:
AttributeCollection.cs
Origem:
AttributeCollection.cs
Origem:
AttributeCollection.cs

Determina se esta coleção de atributos tem o 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

Um Attribute a ser encontrado na coleção.

Retornos

true se a coleção contiver o atributo ou for o atributo padrão para o tipo de atributo. Caso contrário, false.

Exemplos

O exemplo de código a seguir verifica se a coleção tem um BrowsableAttribute conjunto como true. Ele pressupõe que button1 e textBox1 tenham sido criados em um formulário.

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

Comentários

Essa coleção terá o atributo especificado se o tipo de atributo especificado existir na coleção e se o valor do atributo especificado for o mesmo que o valor da instância do atributo na coleção.

A diferença entre os Matches métodos e Contains é que Matches chama o Match método em um atributo e Contains chama o Equals método .

Para a maioria dos atributos, esses métodos fazem a mesma coisa. Para atributos que podem ter vários sinalizadores, no entanto, Match normalmente é implementado para que ele retorne true se qualquer um dos sinalizadores for atendido. Por exemplo, considere um atributo de associação de dados com os sinalizadores boolianos "SupportsSql", "SupportsOleDb" e "SupportsXml". Esse atributo pode estar presente em uma propriedade que dá suporte a todas as três abordagens de associação de dados. Muitas vezes, será o caso de um programador precisar saber apenas se uma abordagem específica está disponível, não todas as três. Portanto, um programador poderia usar Match com uma instância do atributo que contém apenas os sinalizadores de que o programador precisa.

Confira também

Aplica-se a

Contains(Attribute[])

Origem:
AttributeCollection.cs
Origem:
AttributeCollection.cs
Origem:
AttributeCollection.cs

Determina se essa coleção de atributos contém todos os atributos especificados na 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[]

Uma matriz do tipo Attribute a localizar na coleção.

Retornos

true se a coleção contiver todos os atributos; caso contrário, false.

Exemplos

O exemplo de código a seguir compara os atributos em button1 e textBox1 para ver se os atributos do botão estão contidos nos atributos da caixa de texto. Ele pressupõe que ambos button1 e textBox1 tenham sido criados em um formulário.

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

Comentários

Essa coleção terá a matriz de atributos especificada se todos os tipos de atributo especificados existirem na coleção e se cada atributo na matriz especificada for o mesmo que um atributo na coleção.

Confira também

Aplica-se a