ISymbol Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет символ (пространство имен, класс, метод, параметр и т. д.), предоставляемый компилятором.
public interface class ISymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>
public interface ISymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>
type ISymbol = interface
interface IEquatable<ISymbol>
Public Interface ISymbol
Implements IEquatable(Of ISymbol)
- Производный
- Реализации
Комментарии
Этот интерфейс зарезервирован для реализации связанными API. Мы оставляем за собой право изменить его в будущем.
Свойства
CanBeReferencedByName |
Возвращает значение true, если на этот символ можно ссылаться по его имени в коде. |
ContainingAssembly |
IAssemblySymbol Возвращает объект для содержащей сборки. Возвращает значение NULL, если символ является общим для нескольких сборок. |
ContainingModule |
IModuleSymbol Возвращает объект для содержащего модуля. Возвращает значение NULL, если символ совместно используется в нескольких модулях. |
ContainingNamespace |
INamespaceSymbol Возвращает ближайшее включающее пространство имен. Возвращает значение NULL, если символ не содержится в пространстве имен. |
ContainingSymbol |
ISymbol Возвращает значение для немедленно содержащего символа. |
ContainingType |
INamedTypeSymbol Возвращает значение для содержащего типа. Возвращает значение NULL, если символ не содержится в типе. |
DeclaredAccessibility |
Accessibility Возвращает значение, указывающее объявленную доступность для символа. Возвращает NotApplicable, если специальные возможности не объявлены. |
DeclaringSyntaxReferences |
Получите узлы синтаксиса, в которых этот символ был объявлен в источнике. Некоторые символы (например, разделяемые классы) могут быть определены в нескольких расположениях. Это свойство должно возвращать один или несколько синтаксических узлов только в том случае, если символ был объявлен в исходном коде, а также не был неявно объявлен (см. свойство IsImplicitlyDeclared). Обратите внимание, что для символа пространства имен декларативный синтаксис может объявлять вложенное пространство имен. Например, декларативный узел синтаксиса для N1 в пространстве имен N1. N2 {...}" — это все пространство именDeclarationSyntax для N1. N2. Для глобального пространства имен декларативный синтаксис будет значением CompilationUnitSyntax. |
HasUnsupportedMetadata |
Указывает, что этот символ использует метаданные, которые не могут поддерживаться языком. Примеры приведены ниже.
Это отличается от ссылок на символы метаданных, определенные в сборках, на которые не ссылались. Символы, в которых возвращает значение true, никогда не могут использоваться успешно, поэтому никогда не должны отображаться в любой функции интегрированной среды разработки. Этот параметр задается для символов метаданных следующим образом:
|
IsAbstract |
Возвращает значение, указывающее, является ли символ абстрактным. |
IsDefinition |
Возвращает значение, указывающее, является ли символ исходным определением. Возвращает значение false, если символ является производным от другого символа, например подстановкой типов. |
IsExtern |
Возвращает значение, указывающее, определен ли символ извне. |
IsImplicitlyDeclared |
Возвращает значение true, если этот символ был автоматически создан компилятором и не имеет явного объявления исходного кода. |
IsOverride |
Возвращает значение, указывающее, является ли символ переопределением символа базового класса. |
IsSealed |
Возвращает значение, указывающее, запечатывается ли символ. |
IsStatic |
Возвращает значение, указывающее, является ли символ статическим. |
IsVirtual |
Возвращает значение, указывающее, является ли символ виртуальным. |
Kind |
Возвращает значение, SymbolKind указывающее, какой символ он имеет. |
Language |
Возвращает исходный язык ("C#" или "Visual Basic"). |
Locations |
Возвращает расположения, в которых символ был первоначально определен в источнике или метаданных. Некоторые символы (например, разделяемые классы) могут быть определены в нескольких расположениях. |
MetadataName |
Возвращает имя символа, отображаемого в метаданных. В большинстве случаев это то же самое, что и свойство Name со следующими исключениями:
|
MetadataToken |
Возвращает маркер метаданных, связанный с этим символом, или значение 0, если символ не загружен из метаданных. |
Name |
Получает имя символа. Возвращает пустую строку, если имя не указано. |
OriginalDefinition |
ISymbol Возвращает исходное определение символа. Если этот символ является производным от другого символа, например подстановкой типов, он получает исходный символ, как он был определен в источнике или метаданных. |
Методы
Accept(SymbolVisitor) |
Представляет символ (пространство имен, класс, метод, параметр и т. д.), предоставляемый компилятором. |
Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument) |
Представляет символ (пространство имен, класс, метод, параметр и т. д.), предоставляемый компилятором. |
Accept<TResult>(SymbolVisitor<TResult>) |
Представляет символ (пространство имен, класс, метод, параметр и т. д.), предоставляемый компилятором. |
Equals(ISymbol, SymbolEqualityComparer) |
Определяет, равен ли этот символ другому, в соответствии с правилами предоставленного SymbolEqualityComparer |
GetAttributes() |
Возвращает атрибуты для символа. Возвращает пустое IEnumerable<T> значение, если атрибутов нет. |
GetDocumentationCommentId() |
Возвращает идентификатор комментария документации для символа или значение NULL, если символ не поддерживает комментарии документации. |
GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken) |
Возвращает XML-код (в виде текста) для комментария, связанного с символом. |
ToDisplayParts(SymbolDisplayFormat) |
Преобразуйте символ в массив строковых частей, каждый из которых имеет вид. Полезно для раскраски отображаемой строки. |
ToDisplayString(SymbolDisplayFormat) |
Преобразует символ в строковое представление. |
ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat) |
Преобразуйте символ в массив строковых частей, каждый из которых имеет вид. Может быть адаптировано к определенному расположению в исходном коде. Полезно для раскраски отображаемой строки. |
ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat) |
Преобразуйте символ в строку, которую можно отобразить пользователю. Может быть адаптировано к определенному расположению в исходном коде. |
Методы расширения
IsMustOverride(ISymbol) |
Представляет символ (пространство имен, класс, метод, параметр и т. д.), предоставляемый компилятором. |
IsNotOverridable(ISymbol) |
Представляет символ (пространство имен, класс, метод, параметр и т. д.), предоставляемый компилятором. |
IsOverridable(ISymbol) |
Представляет символ (пространство имен, класс, метод, параметр и т. д.), предоставляемый компилятором. |
IsOverrides(ISymbol) |
Представляет символ (пространство имен, класс, метод, параметр и т. д.), предоставляемый компилятором. |
IsShared(ISymbol) |
Определяет, является ли символ общим. |