AttributeCollection.Contains Metodo

Definizione

Consente di determinare se questo insieme di attributi dispone dell'attributo o della matrice di attributi specificata.Determines whether this collection of attributes has the specified attribute or array of attributes.

Overload

Contains(Attribute)

Consente di determinare se questo insieme di attributi dispone dell'attributo specificato.Determines whether this collection of attributes has the specified attribute.

Contains(Attribute[])

Consente di determinare se questo insieme di attributi contiene tutti gli attributi specificati nella matrice di attributi.Determines whether this attribute collection contains all the specified attributes in the attribute array.

Contains(Attribute)

Consente di determinare se questo insieme di attributi dispone dell'attributo specificato.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

Parametri

attribute
Attribute

Oggetto Attribute da individuare nell'insieme.An Attribute to find in the collection.

Restituisce

true se l'insieme contiene l'attributo o se è l'attributo predefinito per il tipo di attributo. In caso contrario, false.true if the collection contains the attribute or is the default attribute for the type of attribute; otherwise, false.

Esempi

Nell'esempio di codice seguente viene verificato se la raccolta ha un BrowsableAttribute impostato su true.The following code example checks to see whether the collection has a BrowsableAttribute set to true. Si presuppone che button1 e textBox1 siano stati creati in un modulo.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

Commenti

Questo insieme ha l'attributo specificato se il tipo di attributo specificato è presente nella raccolta e se il valore dell'attributo specificato è uguale al valore dell'istanza dell'attributo nell'insieme.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.

La differenza tra i metodi Matches e Contains è che Matches chiama il metodo Match su un attributo e Contains chiama il metodo Equals.The difference between the Matches and Contains methods is that Matches calls the Match method on an attribute, and Contains calls the Equals method.

Per la maggior parte degli attributi, questi metodi eseguono la stessa operazione.For most attributes, these methods do the same thing. Per gli attributi che possono avere più flag, tuttavia, Match viene in genere implementato in modo che restituisca true se uno dei flag viene soddisfatto.For attributes that may have multiple flags, however, Match is typically implemented so that it returns true if any of the flags are satisfied. Si consideri, ad esempio, un data binding attributo con i flag booleani "SupportsSql", "SupportsOleDb" e "SupportsXml".For example, consider a data binding attribute with the Boolean flags "SupportsSql", "SupportsOleDb", and "SupportsXml". Questo attributo può essere presente in una proprietà che supporta tutti e tre gli approcci di associazione dati.This attribute may be present on a property that supports all three data-binding approaches. Spesso è necessario che un programmatore conosca solo se è disponibile un particolare approccio, non tutti e tre.It will often be the case that a programmer needs to know only if a particular approach is available, not all three. Pertanto, un programmatore può utilizzare Match con un'istanza dell'attributo che contiene solo i flag necessari al programmatore.Therefore, a programmer could use Match with an instance of the attribute containing only the flags the programmer needs.

Vedi anche

Contains(Attribute[])

Consente di determinare se questo insieme di attributi contiene tutti gli attributi specificati nella matrice di attributi.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

Parametri

attributes
Attribute[]

Matrice di tipo Attribute da individuare nell'insieme.An array of type Attribute to find in the collection.

Restituisce

true se l'insieme contiene tutti gli attributi. In caso contrario, false.true if the collection contains all the attributes; otherwise, false.

Esempi

Nell'esempio di codice seguente vengono confrontati gli attributi button1 e textBox1 per verificare se gli attributi per il pulsante sono contenuti negli attributi per la casella di testo.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. Si presuppone che sia button1 che textBox1 siano stati creati in un modulo.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

Commenti

Questa raccolta contiene la matrice di attributi specificata se tutti i tipi di attributo specificati sono presenti nella raccolta e se ogni attributo nella matrice specificata è uguale a un attributo della raccolta.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.

Vedi anche

Si applica a