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 用于 ASP.Net 的实际项目 GUID(而不是包 Guid)
公共字段静态成员 CSharpProjectSystemGuid 用于 CSharp 的实际项目 GUID(而不是包 Guid)
公共字段静态成员 VisualBasicProjectSystemGuid 用于 Visual Basic 的实际项目 GUID(而不是包 Guid)

页首

显式接口实现

  名称 说明
显式接口实现私有方法 _Attribute.GetIDsOfNames 将一组名称映射为对应的一组调度标识符。 (继承自 Attribute。)
显式接口实现私有方法 _Attribute.GetTypeInfo 检索对象的类型信息,然后可以使用该信息获取接口的类型信息。 (继承自 Attribute。)
显式接口实现私有方法 _Attribute.GetTypeInfoCount 检索对象提供的类型信息接口的数量(0 或 1)。 (继承自 Attribute。)
显式接口实现私有方法 _Attribute.Invoke 提供对某一对象公开的属性和方法的访问。 (继承自 Attribute。)

页首

备注

除了“提供代码发生器”属性外,还应用于程序包级别,而非程序发生器。 此属性建立以下两个事件:

  • 提供指定扩展名文件的生成器的默认应用程序

  • 纠正对需要注册文件扩展名的 ASP.Net 项目系统的使用

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.TextTemplating.VSHost 命名空间