CodeClass2 介面

代表原始程式碼中的某一類別。

命名空間:  EnvDTE80
組件:  EnvDTE80 (在 EnvDTE80.dll 中)

語法

'宣告
<GuidAttribute("295ADCD4-B052-49EE-934E-C6B36862A7C6")> _
Public Interface CodeClass2 _
    Inherits CodeClass
[GuidAttribute("295ADCD4-B052-49EE-934E-C6B36862A7C6")]
public interface CodeClass2 : CodeClass
[GuidAttribute(L"295ADCD4-B052-49EE-934E-C6B36862A7C6")]
public interface class CodeClass2 : CodeClass
[<GuidAttribute("295ADCD4-B052-49EE-934E-C6B36862A7C6")>]
type CodeClass2 =  
    interface
        interface CodeClass
    end
public interface CodeClass2 extends CodeClass

CodeClass2 型別會公開下列成員。

屬性

  名稱 說明
公用屬性 Access (繼承自 CodeClass)。
公用屬性 Access 設定或取得這個程式碼類別的存取屬性。
公用屬性 Attributes (繼承自 CodeClass)。
公用屬性 Attributes 取得程式碼類別所有屬性的集合。
公用屬性 Bases (繼承自 CodeClass)。
公用屬性 Bases 取得衍生自這個程式碼類別的類別集合。
公用屬性 Children (繼承自 CodeClass)。
公用屬性 Children 取得這個程式碼類別內物件的集合。
公用屬性 ClassKind 基礎架構。僅限 Microsoft 內部使用。
公用屬性 Collection (繼承自 CodeClass)。
公用屬性 Collection 取得程式碼類別內所包含的集合。
公用屬性 Comment (繼承自 CodeClass)。
公用屬性 Comment 取得或設定與此程式碼類別關聯的註解。
公用屬性 DataTypeKind 設定或取得此類別與其他類別的關聯性 (Relationship)。
公用屬性 DerivedTypes (繼承自 CodeClass)。
公用屬性 DerivedTypes 取得從程式碼類別衍生的物件集合。尚未在 Visual C# 中進行實作。
公用屬性 DocComment (繼承自 CodeClass)。
公用屬性 DocComment 取得或設定程式碼類別的文件註解。
公用屬性 DTE (繼承自 CodeClass)。
公用屬性 DTE 取得最上層的擴充性物件。
公用屬性 EndPoint (繼承自 CodeClass)。
公用屬性 EndPoint 取得程式碼類別結尾位置的編輯點。
公用屬性 Extender[String] (繼承自 CodeClass)。
公用屬性 Extender[String] 傳回要求的擴充項 (Extender) 物件 (如果適用於這個程式碼類別)。尚未在 Visual C# 中進行實作。
公用屬性 ExtenderCATID (繼承自 CodeClass)。
公用屬性 ExtenderCATID 取得程式碼類別的擴充項分類 ID (CATID)。尚未在 Visual C# 中進行實作。
公用屬性 ExtenderNames (繼承自 CodeClass)。
公用屬性 ExtenderNames 取得程式碼類別的可用擴充項清單。尚未在 Visual C# 中進行實作。
公用屬性 FullName (繼承自 CodeClass)。
公用屬性 FullName 取得程式碼類別檔案的完整路徑和名稱。
公用屬性 ImplementedInterfaces (繼承自 CodeClass)。
公用屬性 ImplementedInterfaces 取得由這個程式碼類別實作的介面集合。
公用屬性 InfoLocation (繼承自 CodeClass)。
公用屬性 InfoLocation 取得程式碼模型的功能。
公用屬性 InheritanceKind 取得或設定值,指出類別是否可以用於建立新類別。
公用屬性 IsAbstract (繼承自 CodeClass)。
公用屬性 IsAbstract 設定或取得某一程式碼類別是否宣告為抽象。
公用屬性 IsCodeType (繼承自 CodeClass)。
公用屬性 IsCodeType 取得值,指出是否可以從這個程式碼類別取得 CodeType 物件。
公用屬性 IsDerivedFrom[String] (繼承自 CodeClass)。
公用屬性 IsDerivedFrom[String] 取得值,指出程式碼類別是否有另一個程式碼類別做為其基底。
公用屬性 IsGeneric 取得值,指出目前類別或結構 (Struct) 是否為泛型。
公用屬性 IsShared 取得或設定類別的共用 (靜態) 狀態。
公用屬性 Kind (繼承自 CodeClass)。
公用屬性 Kind 取得列舉型別,指出類別的型別。
公用屬性 Language (繼承自 CodeClass)。
公用屬性 Language 取得撰寫類別時所使用的程式語言。
公用屬性 Members (繼承自 CodeClass)。
公用屬性 Members 取得這個類別內程式碼項目的集合。
公用屬性 Name (繼承自 CodeClass)。
公用屬性 Name 設定或取得類別名稱。
公用屬性 Namespace (繼承自 CodeClass)。
公用屬性 Namespace 取得 CodeNamespace 物件,定義類別的父命名空間。
公用屬性 Parent (繼承自 CodeClass)。
公用屬性 Parent 取得類別的直接上層父物件。
公用屬性 PartialClasses 基礎架構。僅限 Microsoft 內部使用。
公用屬性 Parts 取得部分的類別。
公用屬性 ProjectItem (繼承自 CodeClass)。
公用屬性 ProjectItem 取得與指定物件關聯的 ProjectItem
公用屬性 StartPoint (繼承自 CodeClass)。
公用屬性 StartPoint 取得 TextPoint 物件,定義類別的開頭。

回頁首

方法

  名稱 說明
公用方法 AddAttribute(String, String, Object) (繼承自 CodeClass)。
公用方法 AddAttribute(String, String, Object) 建立新的屬性程式碼建構並將類別插入正確位置。
公用方法 AddBase(Object, Object) (繼承自 CodeClass)。
公用方法 AddBase(Object, Object) 將項目加入至繼承之物件的清單中。
公用方法 AddClass(String, Object, Object, Object, vsCMAccess) (繼承自 CodeClass)。
公用方法 AddClass(String, Object, Object, Object, vsCMAccess) 在指定的程式碼類別中建立新類別。
公用方法 AddDelegate(String, Object, Object, vsCMAccess) (繼承自 CodeClass)。
公用方法 AddDelegate(String, Object, Object, vsCMAccess) 在指定的類別中建立新委派。
公用方法 AddEnum(String, Object, Object, vsCMAccess) (繼承自 CodeClass)。
公用方法 AddEnum(String, Object, Object, vsCMAccess) 在類別中建立新列舉型別。
公用方法 AddEvent 加入類別事件。
公用方法 AddFunction(String, vsCMFunction, Object, Object, vsCMAccess, Object) (繼承自 CodeClass)。
公用方法 AddFunction(String, vsCMFunction, Object, Object, vsCMAccess, Object) 在類別中建立新函式。
公用方法 AddImplementedInterface(Object, Object) (繼承自 CodeClass)。
公用方法 AddImplementedInterface(Object, Object) 將介面加入至繼承之物件的清單中。
公用方法 AddProperty(String, String, Object, Object, vsCMAccess, Object) (繼承自 CodeClass)。
公用方法 AddProperty(String, String, Object, Object, vsCMAccess, Object) 在類別中建立新屬性建構。
公用方法 AddStruct(String, Object, Object, Object, vsCMAccess) (繼承自 CodeClass)。
公用方法 AddStruct(String, Object, Object, Object, vsCMAccess) 在類別中建立新結構。
公用方法 AddVariable(String, Object, Object, vsCMAccess, Object) (繼承自 CodeClass)。
公用方法 AddVariable(String, Object, Object, vsCMAccess, Object) 在類別中建立新變數。
公用方法 GetEndPoint(vsCMPart) (繼承自 CodeClass)。
公用方法 GetEndPoint(vsCMPart) 取得 TextPoint 物件,標示類別的結尾。
公用方法 GetStartPoint(vsCMPart) (繼承自 CodeClass)。
公用方法 GetStartPoint(vsCMPart) 取得 TextPoint 物件,定義類別的開頭。
公用方法 RemoveBase(Object) (繼承自 CodeClass)。
公用方法 RemoveBase(Object) 從基底清單中移除物件。
公用方法 RemoveInterface(Object) (繼承自 CodeClass)。
公用方法 RemoveInterface(Object) 從實作介面清單中移除介面。
公用方法 RemoveMember(Object) (繼承自 CodeClass)。
公用方法 RemoveMember(Object) 移除類別成員。

回頁首

備註

在藍圖和部分類別的簡介中提到,每個已編譯的類別都可以有一個以上的 CodeClass 物件。 對於檔案中的各個類別,都會有一個 CodeClass 物件的執行個體。 CodeClass2 物件可以判斷它是代表部分或完整類別,以及它是實作為 XML 藍圖或實作為程式碼。 有關 CodeClass2 物件的編輯或加入,可能只能寫入這個類別部分 (和這個類別的檔案)。

注意事項注意事項

在特定類型的編輯之後,程式碼模型項目 (例如類別、結構、函式、屬性、委派等) 的值可能不具決定性,表示其值不一定維持相同。 如需詳細資訊,請參閱使用程式碼模型探索程式碼 (Visual Basic) 的<程式碼模型項目值可以變更>一節。

範例

[Visual Basic]

' Macro code.
Sub CodeClass2Example()
    ' Iterates through the main class and
    ' lists its parts.
    Dim sel As TextSelection
    Dim myClass1 As EnvDTE80.CodeClass2
    Dim classPart As EnvDTE80.CodeClass2

    sel = applicationObject.ActiveDocument.Selection
    myClass1 = sel.ActivePoint.CodeElement _
    (vsCMElement.vsCMElementClass)
    If myClass1.ClassKind = _
    vsCMClassKind.vsCMClassKindMainClass Then
        For Each classPart In myClass1.Collection
            MsgBox(classPart.Name)
        Next
    End If
End Sub

請參閱

參考

EnvDTE80 命名空間

其他資源

HOW TO:編譯和執行 Automation 物件模型程式碼範例

使用程式碼模型探索程式碼 (Visual Basic)

使用程式碼模型探索程式碼 (Visual C#)