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.10.0 (в Microsoft.VisualStudio.TextTemplating.VSHost.10.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.) |
![]() |
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).) |
В начало страницы
Поля
Имя | Описание | |
---|---|---|
![]() ![]() |
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 как пользовательский инструмент. Если пользователь установил расширение, которое имеет этот атрибут, они могут использовать его для создания файлов с помощью команды Запустить пользовательский инструмент в обозревателе решений.
Этот атрибут автоматически выполняет задачу регистрации, которая описана в Registering Single File Generators.
Применять атрибут следует к классу пакета (не к классу генератора).
См. также раздел 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 - пространство имен