AttributeCollection.Contains Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa, czy ta kolekcja atrybutów ma określony atrybut lub tablicę atrybutów.
Przeciążenia
Contains(Attribute) |
Określa, czy ta kolekcja atrybutów ma określony atrybut. |
Contains(Attribute[]) |
Określa, czy ta kolekcja atrybutów zawiera wszystkie określone atrybuty w tablicy atrybutów. |
Contains(Attribute)
- Źródło:
- AttributeCollection.cs
- Źródło:
- AttributeCollection.cs
- Źródło:
- AttributeCollection.cs
Określa, czy ta kolekcja atrybutów ma określony atrybut.
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
Parametry
Zwraca
true
jeśli kolekcja zawiera atrybut lub jest atrybutem domyślnym dla typu atrybutu; w przeciwnym razie , false
.
Przykłady
Poniższy przykład kodu sprawdza, czy kolekcja ma ustawioną BrowsableAttribute wartość true
. Przyjęto założenie, że button1
i textBox1
zostały utworzone w formularzu.
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
Uwagi
Ta kolekcja ma określony atrybut, jeśli określony typ atrybutu istnieje w kolekcji, a wartość określonego atrybutu jest taka sama jak wartość wystąpienia atrybutu w kolekcji.
Różnica między metodami Matches i Contains polega Matches na wywołaniu Match metody na atrybucie i Contains wywołaniu Equals metody .
W przypadku większości atrybutów te metody robią to samo. W przypadku atrybutów, które mogą mieć wiele flag, jest jednak zwykle implementowane, Match aby zwracać true
, jeśli którakolwiek z flag jest spełniona. Rozważmy na przykład atrybut powiązania danych z flagami logicznymi "SupportsSql", "SupportsOleDb" i "SupportsXml". Ten atrybut może być obecny we właściwości obsługującej wszystkie trzy podejścia powiązania danych. Często zdarza się, że programista musi wiedzieć tylko wtedy, gdy jest dostępne konkretne podejście, a nie wszystkie trzy. W związku z tym programista może używać Match z wystąpieniem atrybutu zawierającego tylko flagi, których potrzebuje programista.
Zobacz też
Dotyczy
Contains(Attribute[])
- Źródło:
- AttributeCollection.cs
- Źródło:
- AttributeCollection.cs
- Źródło:
- AttributeCollection.cs
Określa, czy ta kolekcja atrybutów zawiera wszystkie określone atrybuty w tablicy atrybutów.
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
Parametry
Zwraca
true
jeśli kolekcja zawiera wszystkie atrybuty; w przeciwnym razie , false
.
Przykłady
Poniższy przykład kodu porównuje atrybuty w elemecie button1
i textBox1
w celu sprawdzenia, czy atrybuty przycisku znajdują się w atrybutach pola tekstowego. Przyjęto założenie, że zarówno w button1
formularzu, jak i textBox1
zostały utworzone.
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
Uwagi
Ta kolekcja ma określoną tablicę atrybutów, jeśli wszystkie określone typy atrybutów istnieją w kolekcji, a każdy atrybut w określonej tablicy jest taki sam jak atrybut w kolekcji.