Share via


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 设置或获取此代码类的访问特性。
公共属性 Attributes 获取此代码类的所有特性的集合。
公共属性 Bases 获取此代码类派生自的类的集合。
公共属性 Children 获取此代码类中包含的对象的集合。
公共属性 ClassKind 基础结构。 仅由 Microsoft 内部使用。
公共属性 Collection 获取此代码类中包含的集合。
公共属性 Comment 获取或设置与此代码类关联的注释。
公共属性 DataTypeKind 获取或设置此类与其他类的关系。
公共属性 DerivedTypes 获取从此代码类派生的对象的集合。未在 Visual C# 中实现。
公共属性 DocComment 获取或设置此代码类的文档注释。
公共属性 DTE 获取顶级扩展性对象。
公共属性 EndPoint 获取编辑点,该点是代码类的结束位置。
公共属性 Extender 如果所请求的 Extender 对象可用于此代码类,则返回该 Extender 对象。未在 Visual C# 中实现。
公共属性 ExtenderCATID 获取此代码类的 Extender 类别 ID (CATID)。未在 Visual C# 中实现。
公共属性 ExtenderNames 获取此代码类的可用 Extender 的列表。未在 Visual C# 中实现。
公共属性 FullName 获取此代码类文件的完整路径和名称。
公共属性 ImplementedInterfaces 获取此代码类实现的接口的集合。
公共属性 InfoLocation 获取代码模型的功能。
公共属性 InheritanceKind 获取或设置一个值,该值指示类是否可用于创建新类。
公共属性 IsAbstract 设置或获取是否将代码类声明为抽象。
公共属性 IsCodeType 获取一个值,该值指示是否可以从此代码类中获取 CodeType 对象。
公共属性 IsDerivedFrom 获取一个值,该值指示此代码类是否以另一个代码类作为其基类。
公共属性 IsGeneric 获取一个值,该值指示当前的类或结构是否为泛型。
公共属性 IsShared 获取或设置类的共享(静态)状态。
公共属性 Kind 获取一个指示类的类型的枚举。
公共属性 Language 获取用于创作类的编程语言。
公共属性 Members 获取类所包含的代码元素的集合。
公共属性 Name 设置或获取类的名称。
公共属性 Namespace 获取一个 CodeNamespace 对象,该对象定义类的父命名空间。
公共属性 Parent 获取类的直接父对象。
公共属性 PartialClasses 基础结构。 仅由 Microsoft 内部使用。
公共属性 Parts 获取类的各部分。
公共属性 ProjectItem 获取与给定对象关联的 ProjectItem
公共属性 StartPoint 获取一个 TextPoint 对象,该对象定义类的开始位置。

页首

方法

  名称 说明
公共方法 AddAttribute 创建新的特性代码构造,并将类插入正确的位置。
公共方法 AddBase 将某项添加到继承对象的列表中。
公共方法 AddClass 在指定代码类中创建新类。
公共方法 AddDelegate 在指定类中创建一个新委托。
公共方法 AddEnum 在类中创建一个新枚举。
公共方法 AddEvent 添加一个类事件。
公共方法 AddFunction 在类中创建一个新函数。
公共方法 AddImplementedInterface 将接口添加到继承对象的列表中。
公共方法 AddProperty 在类中创建新的属性构造。
公共方法 AddStruct 在类中创建一个新结构。
公共方法 AddVariable 在类中创建新变量。
公共方法 GetEndPoint 获取一个 TextPoint 对象,该对象标记类的结束位置。
公共方法 GetStartPoint 获取一个 TextPoint 对象,该对象定义类的开始位置。
公共方法 RemoveBase 从基列表中移除一个对象。
公共方法 RemoveInterface 从实现的接口列表中移除一个接口。
公共方法 RemoveMember 移除类的一个成员。

页首

备注

引入蓝图和分部类之后,每个编译的类可能存在多个 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 命名空间

其他资源

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

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

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