ProvideCodeGeneratorAttribute 類別
將此屬性套用至 Visual Studio 擴充中提供自訂工具的套件類別。
此應用程式開發介面不符合 CLS 標準。
繼承階層架構
Object
Attribute
RegistrationAttribute
Microsoft.VisualStudio.TextTemplating.VSHost.ProvideCodeGeneratorAttribute
命名空間: Microsoft.VisualStudio.TextTemplating.VSHost
組件: Microsoft.VisualStudio.TextTemplating.VSHost.12.0 (在 Microsoft.VisualStudio.TextTemplating.VSHost.12.0.dll 中)
語法
'宣告
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := False)> _
<CLSCompliantAttribute(False)> _
Public NotInheritable Class ProvideCodeGeneratorAttribute _
Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
[CLSCompliantAttribute(false)]
public sealed class ProvideCodeGeneratorAttribute : RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true, Inherited = false)]
[CLSCompliantAttribute(false)]
public ref class ProvideCodeGeneratorAttribute sealed : public RegistrationAttribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)>]
[<CLSCompliantAttribute(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(RegistrationContext)。) | |
ToString | 傳回代表目前物件的字串。 (繼承自 Object)。 | |
Unregister | (覆寫 RegistrationAttribute.Unregister(RegistrationContext)。) |
回頁首
欄位
名稱 | 描述 | |
---|---|---|
AspNetProjectGuid | ASP.Net Project System 封裝的 Guid | |
CSharpProjectGuid | C# 專案系統封裝的 Guid | |
VisualBasicProjectGuid | Visual Basic Project System 封裝的 Guid |
回頁首
明確介面實作
名稱 | 描述 | |
---|---|---|
System#Runtime#InteropServices#_Attribute#GetIDsOfNames | 將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。 (繼承自 Attribute)。 | |
System#Runtime#InteropServices#_Attribute#GetTypeInfo | 擷取物件的型別資訊,可以用來取得介面的型別資訊。 (繼承自 Attribute)。 | |
System#Runtime#InteropServices#_Attribute#GetTypeInfoCount | 擷取物件提供的型別資訊介面數目 (0 或 1)。 (繼承自 Attribute)。 | |
System#Runtime#InteropServices#_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
{ ... }
執行緒安全
這個類型的任何 Public static (在 Visual Basic 中為 Shared) 成員都是安全執行緒。不保證任何執行個體成員是安全執行緒。