次の方法で共有


AttributeCollection.Contains メソッド

定義

指定した属性または属性配列が属性コレクションに格納されているかどうかを判断します。

オーバーロード

Contains(Attribute)

指定した属性が属性コレクションに格納されているかどうかを判断します。

Contains(Attribute[])

属性配列にある指定したすべての属性が属性コレクションに格納されているかどうかを判断します。

Contains(Attribute)

ソース:
AttributeCollection.cs
ソース:
AttributeCollection.cs
ソース:
AttributeCollection.cs

指定した属性が属性コレクションに格納されているかどうかを判断します。

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

パラメーター

attribute
Attribute

コレクション内で検索する Attribute

戻り値

指定した属性がコレクションに格納されているか、指定した属性型の既定の属性が格納されている場合は true。それ以外の場合は false

次のコード例では、コレクション BrowsableAttribute が に設定されているかどうかを確認します true。 と がbutton1textBox1フォーム上に作成されていることを前提としています。

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

注釈

指定した属性の型がコレクションに存在し、指定した属性の値がコレクション内の属性のインスタンスの値と同じである場合、このコレクションには、指定した属性があります。

メソッドと メソッドのMatches違いは、 Matches 属性で メソッドをMatch呼び出しContains、 メソッドをEquals呼び出す点Containsです。

ほとんどの属性では、これらのメソッドは同じことを行います。 ただし、複数のフラグを持つ可能性がある属性の場合は、通常、 Match いずれかのフラグが満たされた場合に が返 true されるように実装されます。 たとえば、ブール値フラグ "SupportsSql"、"SupportsOleDb"、"SupportsXml" を持つデータ バインディング属性について考えてみましょう。 この属性は、3 つのデータ バインディング アプローチをすべてサポートするプロパティに存在する場合があります。 多くの場合、プログラマは、3 つすべてではなく、特定のアプローチが利用できる場合にのみ知る必要があります。 したがって、プログラマは、プログラマが必要とするフラグのみを含む 属性のインスタンスで を使用 Match できます。

こちらもご覧ください

適用対象

Contains(Attribute[])

ソース:
AttributeCollection.cs
ソース:
AttributeCollection.cs
ソース:
AttributeCollection.cs

属性配列にある指定したすべての属性が属性コレクションに格納されているかどうかを判断します。

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

パラメーター

attributes
Attribute[]

コレクション内で検索する Attribute 型の配列。

戻り値

コレクションにすべての属性が格納されている場合は true。それ以外の場合は false

次のコード例では、 と textBox1button1属性を比較して、ボタンの属性がテキスト ボックスの属性に含まれているかどうかを確認します。 と の両方button1textBox1がフォーム上に作成されていることを前提としています。

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

注釈

このコレクションには、指定されたすべての属性型がコレクション内に存在し、指定した配列内の各属性がコレクション内の属性と同じである場合は、指定した属性の配列があります。

こちらもご覧ください

適用対象