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 (в дальнейшем называемые объекты Code*2) являются производными от объектов EnvDTE. (Например, CodeClass2 является производным от CodeClass, а CodeElement2 — производным от CodeElement.) Внутри Visual Studio все элементы кода (в обеих сборках) в свою очередь приводятся к CodeElement2.Поэтому логически это можно представить так, словно CodeClass2, например, в конечном счете наследует от CodeElement2.
Однако, поскольку два элемента в действительности находятся в двух отдельных иерархиях наследования, средство поздней привязки не может искать методы CodeElement2 в объектах Code*2.EnvDTE работает по сути такую же, но позволяет использовать макросами препроцессора интерфейсы, чтобы определить, так что унаследованные методы определены явно на всех связанных интерфейсах, для которых существуют преобразования.интерфейсы EnvDTE80 задаются с помощью аналогичной схему наследования, но без использования выписок препроцессора.Это решение является более элегантным, поскольку оно избавляет от необходимости использования лишних свойств, но следствием является невозможность применения вызовов свойств с поздним связыванием.Чтобы обойти это ограничение, необходимо явным образом привести объект к интерфейсу CodeElement2, прежде чем производить вызов.
Кроме того, значения элементов модели кода, таких как классы, структуры, функции, атрибуты, делегаты и т.п., после внесения некоторых изменений могут стать недетерминированными, иными словами, нельзя рассчитывать, что их значения не будут изменяться.Дополнительные сведения см. в разделе "Значения элементов модели кода могут изменяться" в разделе Практическое руководство. Поиск кода при помощи модели кода (Visual Basic).
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Для получения дополнительной информации см. Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Другие ресурсы
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации
Практическое руководство. Поиск кода при помощи модели кода (Visual Basic)
Практическое руководство. Поиск кода при помощи модели кода (Visual C#)