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) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。