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,则程序集在 GAC 中。
公共属性 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 ASP.Net 项目系统包的 Guid
公共字段静态成员 CSharpProjectGuid C# 项目系统包的 Guid
公共字段静态成员 VisualBasicProjectGuid Visual Basic 项目系统包的 Guid

页首

显式接口实现

  名称 说明
显式接口实现私有方法 _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(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.TextTemplating.VSHost 命名空间