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) | |
| 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 на основе указанного типа. |