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


ProvideCodeGeneratorAttribute - класс

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

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

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

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

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

Синтаксис

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

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

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

  Имя Описание
Открытый метод ProvideCodeGeneratorAttribute

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

Свойства

  Имя Описание
Открытое свойство Description Описание генератора, удобное для человеческого восприятия.
Открытое свойство GeneratesDesignTimeSource При значении true этот генератор предоставляет исходный код во время разработки.
Открытое свойство Name Имя этого генератора.Для применения этого генератора к файлу в обозревателе решений задайте для его свойства Настраиваемый инструмент имя этого генератора.
Открытое свойство ProjectSystem Система проекта, в которой зарегистрирован этот генератор кода.
Открытое свойство RegisterCodeBase При значении true генератор регистрируется с помощью базы кода, т. е. определенного расположения файла сборки.При значении false сборка находится в глобальном кэше сборок.
Открытое свойство Type Тип, реализующий генератор кода.
Открытое свойство TypeId (Унаследовано от RegistrationAttribute.)

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

Методы

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

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

Поля

  Имя Описание
Открытое полеСтатический член AspNetProjectGuid Guid пакета системы проекта ASP.Net.
Открытое полеСтатический член CSharpProjectGuid Guid пакета системы проекта C#.
Открытое полеСтатический член VisualBasicProjectGuid Guid пакета системы проекта Visual Basic.

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

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

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

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

Заметки

Этот атрибут регистрирует расширение Visual Studio как пользовательский инструмент.Если пользователь установил расширение, которое имеет этот атрибут, они могут использовать его для создания файлов с помощью команды Запустить пользовательский инструмент в обозревателе решений.

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

Применять атрибут следует к классу пакета (не к классу генератора).

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

Примеры

[ProvideCodeGenerator(typeof(MyGenerator), "MyCustomTool", "My custom tool", true, ProjectSystem = ProvideCodeGeneratorAttribute.CSharpProjectGuid)]
internal sealed partial class MyPackage : Microsoft.VisualStudio.Shell
.Package
{ ... }
internal class MyGenerator : Microsoft.VisualStudio.Shell.Interop.IVsSingleFileGenerator
{ ... }

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

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

См. также

Ссылки

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