AttributeCollection クラス

定義

属性のコレクションを表します。Represents a collection of attributes.

public ref class AttributeCollection : System::Collections::ICollection
[System.Runtime.InteropServices.ComVisible(true)]
public class AttributeCollection : System.Collections.ICollection
type AttributeCollection = class
    interface ICollection
    interface IEnumerable
Public Class AttributeCollection
Implements ICollection
継承
AttributeCollection
属性
実装

最初のコード例では、 BrowsableAttributeがこのコレクションに設定されているかどうかを確認します。The first code example checks to see whether the BrowsableAttribute has been set in this collection. 2番目のコード例では、 DescriptionAttributeボタンのの実際の値を取得します。The second code example gets the actual value of the DescriptionAttribute for a button. どちらの例でbutton1textBox1 、とがフォーム上に作成されている必要があります。Both examples require that button1 and textBox1 have been created on a form. 属性を使用する場合は、属性が設定されていることを確認するか、またはその値にアクセスします。When using attributes, verify that an attribute has been set, or access its value.

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 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 button1.
    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
private:
   void GetAttributeValue()
   {
      // Creates a new collection and assigns it the attributes for button1.
      AttributeCollection^ attributes;
      attributes = TypeDescriptor::GetAttributes( button1 );
      
      // Gets the designer attribute from the collection.
      DesignerAttribute^ myDesigner;
      myDesigner = (DesignerAttribute^)(attributes[DesignerAttribute::typeid]);
      
      // Prints the value of the attribute in a text box.
      textBox1->Text = myDesigner->DesignerTypeName;
   }
private void GetAttributeValue() {
    // Creates a new collection and assigns it the attributes for button1.
    AttributeCollection attributes;
    attributes = TypeDescriptor.GetAttributes(button1);
 
    // Gets the designer attribute from the collection.
    DesignerAttribute myDesigner; 
    myDesigner = (DesignerAttribute)attributes[typeof(DesignerAttribute)];
 
    // Prints the value of the attribute in a text box.
    textBox1.Text = myDesigner.DesignerTypeName;
 }
Private Sub GetAttributeValue()
    ' Creates a new collection and assigns it the attributes for button1.
    Dim attributes As AttributeCollection
    attributes = TypeDescriptor.GetAttributes(button1)
    
    ' Gets the designer attribute from the collection.
    Dim myDesigner As DesignerAttribute
    myDesigner = CType(attributes(GetType(DesignerAttribute)), DesignerAttribute)
    
    ' Prints the value of the attribute in a text box.
    textBox1.Text = myDesigner.DesignerTypeName
End Sub

注釈

AttributeCollectionクラスは読み取り専用です。属性を追加または削除するメソッドは実装しません。The AttributeCollection class is read-only; it does not implement methods to add or remove attributes. これらのメソッドを実装するには、このクラスから継承する必要があります。You must inherit from this class to implement these methods.

コレクション内Countに存在する属性の数を調べるには、プロパティを使用します。Use the Count property to find the number of attributes that exist in the collection.

また、このクラスのメソッドを使用して、コレクションの内容を照会することもできます。You can also use the methods of this class to query the collection about its contents. Containsメソッドを呼び出して、指定した属性または属性配列がコレクション内に存在することを確認します。Call the Contains method to verify that a specified attribute or attribute array exists in the collection. Matchesメソッドを呼び出して、指定した属性または属性の配列がコレクション内に存在すること、および指定した属性の値がコレクション内の値と同じであることを確認します。Call the Matches method to verify that a specified attribute or array of attributes exists in the collection, and that the values of the specified attributes are the same as the values in the collection.

ほとんどの属性には既定値がありますが、既定値は必須ではありません。While most attributes have default values, default values are not required. 属性に既定値がない場合はnull 、型を受け取るインデックス付きプロパティからが返されます。If an attribute has no default value, null is returned from the indexed property that takes a type. 独自の属性を定義するときに、引数を受け取らないコンストラクターを指定するか、"Default" という名前の属性型のパブリック静的フィールドを定義することで、既定値を宣言できます。When defining your own attributes, you can declare a default value by either providing a constructor that takes no arguments, or defining a public static field of your attribute type named "Default".

コンストラクター

AttributeCollection()

AttributeCollection クラスの新しいインスタンスを初期化します。Initializes a new instance of the AttributeCollection class.

AttributeCollection(Attribute[])

AttributeCollection クラスの新しいインスタンスを初期化します。Initializes a new instance of the AttributeCollection class.

フィールド

Empty

新しいコレクションを作成するのではなく、使用できる空のコレクションを指定します。Specifies an empty collection that you can use, rather than creating a new one. このフィールドは読み取り専用です。This field is read-only.

プロパティ

Attributes

属性のコレクションを取得します。Gets the attribute collection.

Count

属性の数を取得します。Gets the number of attributes.

Item[Int32]

指定したインデックス番号の属性を取得します。Gets the attribute with the specified index number.

Item[Type]

指定した型の属性を取得します。Gets the attribute with the specified type.

メソッド

Contains(Attribute)

指定した属性が属性コレクションに格納されているかどうかを判断します。Determines whether this collection of attributes has the specified attribute.

Contains(Attribute[])

属性配列にある指定したすべての属性が属性コレクションに格納されているかどうかを判断します。Determines whether this attribute collection contains all the specified attributes in the attribute array.

CopyTo(Array, Int32)

指定したインデックスを開始位置として、配列にコレクションをコピーします。Copies the collection to an array, starting at the specified index.

Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
FromExisting(AttributeCollection, Attribute[])

既存の AttributeCollection から新しい AttributeCollection を作成します。Creates a new AttributeCollection from an existing AttributeCollection.

GetDefaultAttribute(Type)

指定した Attribute の既定の Type を返します。Returns the default Attribute of a given Type.

GetEnumerator()

このコレクションの列挙子を取得します。Gets an enumerator for this collection.

GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
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.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

明示的なインターフェイスの実装

ICollection.Count

コレクションに格納されている要素の数を取得します。Gets the number of elements contained in the collection.

ICollection.IsSynchronized

コレクションへのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。Gets a value indicating whether access to the collection is synchronized (thread-safe).

ICollection.SyncRoot

コレクションへのアクセスを同期するために使用できるオブジェクトを取得します。Gets an object that can be used to synchronize access to the collection.

IEnumerable.GetEnumerator()

IEnumeratorIDictionary を返します。Returns an IEnumerator for the IDictionary.

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

クエリの並列化を有効にします。Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象

こちらもご覧ください