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


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.";
      }
   }
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;

    textBox1.Text = attributes.Contains(myAttribute) ? "button1 has a browsable attribute." : "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;
   }
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объекта .

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

Имя Описание
AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

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

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