CodeClass2 接口

更新:2007 年 11 月

表示源代码中的类。

命名空间:  EnvDTE80
程序集:  EnvDTE80(在 EnvDTE80.dll 中)

语法

声明
<GuidAttribute("295ADCD4-B052-49EE-934E-C6B36862A7C6")> _
Public Interface CodeClass2 _
    Implements CodeClass
用法
Dim instance As CodeClass2
[GuidAttribute("295ADCD4-B052-49EE-934E-C6B36862A7C6")]
public interface CodeClass2 : CodeClass
[GuidAttribute(L"295ADCD4-B052-49EE-934E-C6B36862A7C6")]
public interface class CodeClass2 : CodeClass
public interface CodeClass2 extends CodeClass

备注

引入蓝图和分部类之后,每个编译的类可能存在多个 CodeClass 对象。文件中包含的每个类都有 CodeClass 对象的一个实例。CodeClass2 对象可确定该对象是表示分部类还是完整类,以及该对象是作为 XML 蓝图还是作为代码实现。对 CodeClass2 对象所做的编辑或添加只能被写入类的这一部分(和文件)。

说明:

在进行某些类型的编辑之后,代码模型元素(如类、结构、函数、属性、委托等)的值可能是非确定性的,这意味着不能指望它们的值总是保持不变。有关更多信息,请参见 使用代码模型查找代码 (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

另请参见

参考

CodeClass2 成员

EnvDTE80 命名空间

其他资源

如何:编译和运行自动化对象模型代码示例

使用代码模型查找代码 (Visual Basic)

使用代码模型查找代码 (Visual C#)