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() |
Возвращает атрибуты для символа. Возвращает пустое значение ImmutableArray<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) |
Определяет, является ли символ общим. |