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


ProvideCodeGeneratorExtensionAttribute - класс

Этот атрибут применяют к классу пакета, который предоставляет генератор кода для определенного расширения файла.

Этот интерфейс API CLS-несовместим. 

Иерархия наследования

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.TextTemplating.VSHost.ProvideCodeGeneratorExtensionAttribute

Пространство имен:  Microsoft.VisualStudio.TextTemplating.VSHost
Сборка:  Microsoft.VisualStudio.TextTemplating.VSHost.10.0 (в Microsoft.VisualStudio.TextTemplating.VSHost.10.0.dll)

Синтаксис

'Декларация
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := False)> _
<CLSCompliantAttribute(False)> _
Public NotInheritable Class ProvideCodeGeneratorExtensionAttribute _
    Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
[CLSCompliantAttribute(false)]
public sealed class ProvideCodeGeneratorExtensionAttribute : RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true, Inherited = false)]
[CLSCompliantAttribute(false)]
public ref class ProvideCodeGeneratorExtensionAttribute sealed : public RegistrationAttribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)>]
[<CLSCompliantAttribute(false)>]
type ProvideCodeGeneratorExtensionAttribute =  
    class
        inherit RegistrationAttribute
    end
public final class ProvideCodeGeneratorExtensionAttribute extends RegistrationAttribute

Тип ProvideCodeGeneratorExtensionAttribute предоставляет следующие члены.

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

  Имя Описание
Открытый метод ProvideCodeGeneratorExtensionAttribute Этот атрибут применяют к классу пакета, который предоставляет генератор кода для определенного расширения файла.

В начало страницы

Свойства

  Имя Описание
Открытое свойство Extension Расширение, к которому привязывается генератор с указанным именем.
Открытое свойство Name Имя генератора, для которого добавляется расширение.
Открытое свойство ProjectSystem Система проекта, в которой зарегистрирован этот генератор кода.
Открытое свойство ProjectSystemPackage Пакет, реализующий систему проекта, в которой зарегистрирован этот генератор кода.
Открытое свойство TypeId (Унаследовано от RegistrationAttribute.)

В начало страницы

Методы

  Имя Описание
Открытый метод Equals Инфраструктура. Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. (Унаследовано от Attribute.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый метод GetHashCode Возвращает хеш-код данного экземпляра. (Унаследовано от Attribute.)
Защищенный метод GetPackageRegKeyPath (Унаследовано от RegistrationAttribute.)
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Открытый метод IsDefaultAttribute При переопределении в производном классе показывает, является ли значение данного экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute.)
Открытый метод Match При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту. (Унаследовано от Attribute.)
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Открытый метод Register Вызывается, когда пользователь устанавливает расширение генератора кода.Как правило, должен добавлять разделы в реестр. (Переопределяет RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).)
Открытый метод ToString Возвращение строки, представляющей текущий объект. (Унаследовано от Object.)
Открытый метод Unregister Вызывается, когда пользователь удаляет установленный пакет.Как правило, должен удалять разделы реестра, созданные Register(). (Переопределяет RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).)

В начало страницы

Поля

  Имя Описание
Открытое полеСтатический член AspNetProjectSystemGuid GUID самого проекта (а не пакета) для ASP.Net.
Открытое полеСтатический член CSharpProjectSystemGuid GUID самого проекта (а не пакета) для CSharp.
Открытое полеСтатический член VisualBasicProjectSystemGuid GUID самого проекта (а не пакета) для Visual Basic.

В начало страницы

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

  Имя Описание
Явная реализация интерфейсаЗакрытый метод _Attribute.GetIDsOfNames Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute.)
Явная реализация интерфейсаЗакрытый метод _Attribute.GetTypeInfo Возвращает сведения о типе объекта, которые могут использоваться для получения сведений о типе интерфейса. (Унаследовано от Attribute.)
Явная реализация интерфейсаЗакрытый метод _Attribute.GetTypeInfoCount Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute.)
Явная реализация интерфейсаЗакрытый метод _Attribute.Invoke Предоставляет доступ к открытым свойствам и методам объекта. (Унаследовано от Attribute.)

В начало страницы

Заметки

Следует применять к классу пакета, а не к генератору, помимо атрибута ProvideCodeGenerator. Этот атрибут устанавливает две вещи:

  • Применение по умолчанию указанного генератора к файлам с предоставленным расширением

  • Правильную работу с системой проектов ASP.Net, требующей регистрации расширений файлов

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.VisualStudio.TextTemplating.VSHost - пространство имен