ProvideMetadataAttribute - класс
Представляет класс, предоставляющий метаданные.
Иерархия наследования
System.Object
System.Attribute
Microsoft.Windows.Design.Metadata.ProvideMetadataAttribute
Пространство имен: Microsoft.Windows.Design.Metadata
Сборка: Microsoft.Windows.Design.Extensibility (в Microsoft.Windows.Design.Extensibility.dll)
Синтаксис
'Декларация
<AttributeUsageAttribute(AttributeTargets.Assembly, AllowMultiple := True)> _
Public NotInheritable Class ProvideMetadataAttribute _
Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Assembly, AllowMultiple = true)]
public sealed class ProvideMetadataAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Assembly, AllowMultiple = true)]
public ref class ProvideMetadataAttribute sealed : public Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Assembly, AllowMultiple = true)>]
type ProvideMetadataAttribute =
class
inherit Attribute
end
public final class ProvideMetadataAttribute extends Attribute
Тип ProvideMetadataAttribute предоставляет следующие члены.
Конструкторы
Имя | Описание | |
---|---|---|
![]() |
ProvideMetadataAttribute | Инициализирует новый экземпляр класса ProvideMetadataAttribute. |
В начало страницы
Свойства
Имя | Описание | |
---|---|---|
![]() |
MetadataProviderType | Получает тип, реализующий интерфейс IProvideAttributeTable. |
![]() |
TypeId | При реализации в производном классе возвращает уникальный идентификатор для этого Attribute. (Унаследовано от Attribute.) |
В начало страницы
Методы
Имя | Описание | |
---|---|---|
![]() |
Equals | Инфраструктура. Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. (Унаследовано от Attribute.) |
![]() |
Finalize | Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.) |
![]() |
GetHashCode | Возвращает хеш-код данного экземпляра. (Унаследовано от Attribute.) |
![]() |
GetType | Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.) |
![]() |
IsDefaultAttribute | При переопределении в производном классе показывает, является ли значение данного экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute.) |
![]() |
Match | При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту. (Унаследовано от Attribute.) |
![]() |
MemberwiseClone | Создает неполную копию текущего объекта Object. (Унаследовано от Object.) |
![]() |
ToString | Возвращение строки, представляющей текущий объект. (Унаследовано от Object.) |
В начало страницы
Явные реализации интерфейса
Имя | Описание | |
---|---|---|
![]() ![]() |
_Attribute.GetIDsOfNames | Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute.) |
![]() ![]() |
_Attribute.GetTypeInfo | Возвращает сведения о типе объекта, которые могут использоваться для получения сведений о типе интерфейса. (Унаследовано от Attribute.) |
![]() ![]() |
_Attribute.GetTypeInfoCount | Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute.) |
![]() ![]() |
_Attribute.Invoke | Предоставляет доступ к открытым свойствам и методам объекта. (Унаследовано от Attribute.) |
В начало страницы
Заметки
Добавьте этот атрибут в сборку для объявления типов, которые предоставляют метаданные. Типы в сборке реализуют интерфейс IProvideAttributeTable для предоставления атрибутов метаданных времени разработки средствам разработки, таким как Visual Studio и Expression Blend. Дополнительные сведения см. в разделе Предоставление метаданных времени разработки.
Примеры
В следующем примере показано, как создать и заполнить таблицу атрибутов. Дополнительные сведения см. в разделе Пошаговое руководство. Создание графического элемента времени разработки.
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.ComponentModel
Imports System.Windows.Media
Imports System.Windows.Controls
Imports System.Windows
Imports CustomControlLibrary
Imports Microsoft.Windows.Design.Features
Imports Microsoft.Windows.Design.Metadata
' The ProvideMetadata assembly-level attribute indicates to designers
' that this assembly contains a class that provides an attribute table.
<Assembly: ProvideMetadata(GetType(CustomControlLibrary.VisualStudio.Design.Metadata))>
Namespace CustomControlLibrary.VisualStudio.Design
' Container for any general design-time metadata to initialize.
' Designers look for a type in the design-time assembly that
' implements IProvideAttributeTable. If found, designers instantiate
' this class and access its AttributeTable property automatically.
Friend Class Metadata
Implements IProvideAttributeTable
' Accessed by the designer to register any design-time metadata.
Public ReadOnly Property AttributeTable() As AttributeTable _
Implements IProvideAttributeTable.AttributeTable
Get
Dim builder As New AttributeTableBuilder()
' Add the adorner provider to the design-time metadata.
builder.AddCustomAttributes(GetType(ButtonWithDesignTime), _
New FeatureAttribute(GetType(OpacitySliderAdornerProvider)))
Return builder.CreateTable()
End Get
End Property
End Class
End Namespace
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Windows.Media;
using System.Windows.Controls;
using System.Windows;
using CustomControlLibrary;
using Microsoft.Windows.Design.Features;
using Microsoft.Windows.Design.Metadata;
// The ProvideMetadata assembly-level attribute indicates to designers
// that this assembly contains a class that provides an attribute table.
[assembly: ProvideMetadata(typeof(CustomControlLibrary.VisualStudio.Design.Metadata))]
namespace CustomControlLibrary.VisualStudio.Design
{
// Container for any general design-time metadata to initialize.
// Designers look for a type in the design-time assembly that
// implements IProvideAttributeTable. If found, designers instantiate
// this class and access its AttributeTable property automatically.
internal class Metadata : IProvideAttributeTable
{
// Accessed by the designer to register any design-time metadata.
public AttributeTable AttributeTable
{
get
{
AttributeTableBuilder builder = new AttributeTableBuilder();
// Add the adorner provider to the design-time metadata.
builder.AddCustomAttributes(
typeof(ButtonWithDesignTime),
new FeatureAttribute(typeof(OpacitySliderAdornerProvider)));
return builder.CreateTable();
}
}
}
}
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.
См. также
Ссылки
Microsoft.Windows.Design.Metadata - пространство имен