Поделиться через


AttributeCollection Класс

Определение

Представляет коллекцию атрибутов.

public ref class AttributeCollection : System::Collections::ICollection
public class AttributeCollection : System.Collections.ICollection
[System.Runtime.InteropServices.ComVisible(true)]
public class AttributeCollection : System.Collections.ICollection
type AttributeCollection = class
    interface ICollection
    interface IEnumerable
[<System.Runtime.InteropServices.ComVisible(true)>]
type AttributeCollection = class
    interface ICollection
    interface IEnumerable
Public Class AttributeCollection
Implements ICollection
Наследование
AttributeCollection
Атрибуты
Реализации

Примеры

В первом примере кода проверяется, задан ли BrowsableAttribute объект в этой коллекции. Во втором примере кода возвращается фактическое DescriptionAttribute значение для кнопки. Для обоих примеров требуется, чтобы button1 и textBox1 были созданы в форме. При использовании атрибутов убедитесь, что атрибут задан, или получите доступ к его значению.

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 доступен только для чтения; он не реализует методы для добавления или удаления атрибутов. Для реализации этих методов необходимо наследовать от этого класса.

Count Используйте свойство , чтобы найти количество атрибутов, существующих в коллекции.

Вы также можете использовать методы этого класса для запроса коллекции о ее содержимом. Вызовите метод , Contains чтобы убедиться, что указанный атрибут или массив атрибутов существует в коллекции. Вызовите метод , Matches чтобы убедиться, что указанный атрибут или массив атрибутов существует в коллекции и что значения указанных атрибутов совпадают со значениями в коллекции.

Хотя большинство атрибутов имеют значения по умолчанию, значения по умолчанию не требуются. Если атрибут не имеет значения по умолчанию, null возвращается из индексированного свойства, принимающего тип. При определении собственных атрибутов можно объявить значение по умолчанию, предоставив конструктор, который не принимает аргументов, или определив открытое статическое поле типа атрибута с именем Default.

Конструкторы

AttributeCollection()

Инициализирует новый экземпляр класса AttributeCollection.

AttributeCollection(Attribute[])

Инициализирует новый экземпляр класса AttributeCollection.

Поля

Empty

Определяет пустую коллекцию, которую можно использовать, не прибегая к созданию новой. Это поле доступно только для чтения.

Свойства

Attributes

Получает коллекцию атрибутов.

Count

Возвращает количество атрибутов.

Item[Int32]

Возвращает атрибут с указанным номером индекса.

Item[Type]

Возвращает атрибут указанного типа.

Методы

Contains(Attribute)

Определяет, содержит ли коллекция атрибутов указанный атрибут.

Contains(Attribute[])

Определяет, содержит ли коллекция атрибутов все указанные атрибуты в массиве атрибутов.

CopyTo(Array, Int32)

Копирует коллекцию в массив, начиная с указанного индекса.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FromExisting(AttributeCollection, Attribute[])

Создает новую коллекцию AttributeCollection из существующей коллекции AttributeCollection.

GetDefaultAttribute(Type)

Возвращает Attribute по умолчанию с заданным типом Type.

GetEnumerator()

Возвращает перечислитель для этой коллекции.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
Matches(Attribute)

Определяет, совпадает ли указанный атрибут с атрибутом в коллекции.

Matches(Attribute[])

Определяет, совпадают ли атрибуты в указанном массиве атрибутов с атрибутами в коллекции.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

ICollection.Count

Возвращает количество элементов, содержащихся в коллекции.

ICollection.IsSynchronized

Возвращает значение, указывающее на то, синхронизирован ли доступ к коллекции (потокобезопасный).

ICollection.SyncRoot

Возвращает объект, который можно использовать для синхронизации доступа к коллекции.

IEnumerable.GetEnumerator()

Возвращает объект IEnumerator для IDictionary.

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

Применяется к

См. также раздел