AttributeCollection.Matches メソッド

定義

指定した属性または属性配列がコレクション内の属性または属性配列と同じかどうかを判断します。Determines whether a specified attribute or array of attributes is the same as an attribute or array of attributes in the collection.

オーバーロード

Matches(Attribute)

指定した属性がコレクション内の属性と同じかどうかを判断します。Determines whether a specified attribute is the same as an attribute in the collection.

Matches(Attribute[])

指定した配列内の属性がコレクション内の属性と同じかどうかを判断します。Determines whether the attributes in the specified array are the same as the attributes in the collection.

Matches(Attribute)

指定した属性がコレクション内の属性と同じかどうかを判断します。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

パラメーター

attribute
Attribute

コレクション内の属性と比較する対象の Attribute のインスタンス。An instance of Attribute to compare with the attributes in this collection.

戻り値

Boolean

指定した属性がコレクションに格納されていて、その値がコレクション内の属性の値と同じ場合は true。それ以外の場合は falsetrue if the attribute is contained within the collection and has the same value as the attribute in the collection; otherwise, false.

次のコード例では、BrowsableAttribute がコレクションのメンバーであり、trueに設定されていることを確認します。The following code example verifies that the BrowsableAttribute is a member of the collection and that it has been set to true. button1textBox1 がフォーム上に作成されていることを前提としています。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

注釈

属性では、照合のサポートを提供できます。An attribute can provide support for matching.

Matches メソッドと Contains メソッドの違いは、Matches が属性に対して Match メソッドを呼び出すことと、Contains メソッドを呼び出すことです。EqualsThe difference between the Matches and Contains methods is that Matches calls the Match method on an attribute, and Contains calls the Equals method.

ほとんどの属性では、これらのメソッドは同じことを行います。For most attributes, these methods do the same thing. ただし、複数のフラグを持つことができる属性の場合、通常は Match が実装されます。これにより、フラグのいずれかが満たされた場合に true が返されるようになります。For attributes that may have multiple flags, however, Match is typically implemented so that it returns true if any of the flags are satisfied. たとえば、ブール型のフラグ "SupportsSql"、"SupportsOleDb"、および "Supportssql" を持つデータバインド属性を考えてみます。For example, consider a data binding attribute with the Boolean flags "SupportsSql", "SupportsOleDb", and "SupportsXml". この属性は、3つのデータバインディングのすべての方法をサポートするプロパティに存在する場合があります。This attribute may be present on a property that supports all three data binding approaches. 多くの場合、プログラマが認識する必要があるのは、3つではなく、特定の方法が使用可能な場合だけです。It will often be the case that a programmer needs to know only if a particular approach is available, not all three. そのため、プログラマは、プログラマが必要とするフラグだけを含む属性のインスタンスで Match を使用できます。Therefore, a programmer could use Match with an instance of the attribute containing only the flags the programmer needs.

こちらもご覧ください

Matches(Attribute[])

指定した配列内の属性がコレクション内の属性と同じかどうかを判断します。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

パラメーター

attributes
Attribute[]

コレクション内の属性と比較する対象の MemberAttributes の配列。An array of MemberAttributes to compare with the attributes in this collection.

戻り値

Boolean

配列内の属性がコレクションに格納されていて、その値がコレクション内の属性の値と同じ場合は true。それ以外の場合は falsetrue 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.

次のコード例では、ボタンとテキストボックスの属性を比較して、一致するかどうかを確認します。The following code example compares the attributes in a button and a text box to see whether they match. button1textBox1 がフォーム上に作成されていることを前提としています。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

注釈

属性では、照合のサポートを提供できます。An attribute can provide support for matching.

こちらもご覧ください

適用対象