CodeElement2.RenameSymbol 方法

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

语法

声明
Sub RenameSymbol ( _
    NewName As String _
)
void RenameSymbol(
    string NewName
)
void RenameSymbol(
    String^ NewName
)
abstract RenameSymbol : 
        NewName:string -> unit
function RenameSymbol(
    NewName : String
)

参数

  • NewName
    类型:String

    必选。 要重命名的符号名称。

备注

如果重命名的任何部分无法完成(在当前项目范围内),该方法将返回一个错误。

备注

不能调用 RenameSymbol 或 ElementID 后期绑定。(例如 DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElements.Item("Class1").RenameSymbol("Class2")。)在进行调用之前,必须将对象显式强制转换为 CodeElement2 接口。

EnvDTE80 中的代码元素(以下称代码*2对象)从 EnvDTE 中的代码元素派生。(例如,CodeClass2CodeClass 派生,CodeElement2CodeElement 派生。)在 Visual Studio 的内部,所有的代码元素(位于这两个程序集中)都又强制转换为 CodeElement2。因此,在逻辑上,它好像是 CodeClass2,例如,最终从 CodeElement2 派生。

由于两个元素实际上位于两个单独的继承层次结构中,因此后期绑定功能无法在代码*2 对象上查找 CodeElement2 方法。重要EnvDTE 相同的方式工作,但是,使用预处理器宏允许接口定义这些继承的方法上转换存在的所有显式定义相关接口。使用类似的继承方案,EnvDTE80 接口定义,仅无需使用预处理器语句。这是更简洁的解决方案,因为它消除了冗余属性,但将导致属性不能被称为后期绑定。若要解决此问题,请在调用之前将对象显式强制转换为 CodeElement2 接口。

同样,在进行某些类型的编辑之后,代码模型元素(如类、结构、函数、特性、委托等)的值可能是非确定性的,这意味着不能指望它们的值总是保持不变。有关更多信息,请参见 使用代码模型查找代码 (Visual Basic) 中的“代码模型元素的值可能会更改”一节。

.NET Framework 安全性

请参阅

参考

CodeElement2 接口

EnvDTE80 命名空间

其他资源

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

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

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

实现和使用自动化扩展程序