Поделиться через


ILocalSymbol Интерфейс

Определение

Представляет локальную переменную в теле метода.

public interface class ILocalSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::ISymbol
public interface ILocalSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.ISymbol
type ILocalSymbol = interface
    interface ISymbol
    interface IEquatable<ISymbol>
Public Interface ILocalSymbol
Implements IEquatable(Of ISymbol), ISymbol
Реализации

Комментарии

Этот интерфейс зарезервирован для реализации связанными API. Мы зарезервируем право изменить его в будущем.

Свойства

Имя Описание
CanBeReferencedByName

Возвращает значение true, если на этот символ можно ссылаться по имени в коде.

(Унаследовано от ISymbol)
ConstantValue

Возвращает постоянное значение этой локальной переменной.

ContainingAssembly

IAssemblySymbol Возвращает значение для содержащей сборки. Возвращает значение NULL, если символ используется для нескольких сборок.

(Унаследовано от ISymbol)
ContainingModule

IModuleSymbol Возвращает значение для содержащего модуля. Возвращает значение NULL, если символ используется для нескольких модулей.

(Унаследовано от ISymbol)
ContainingNamespace

Возвращает ближайшее INamespaceSymbol заключающее пространство имен. Возвращает значение NULL, если символ не содержится в пространстве имен.

(Унаследовано от ISymbol)
ContainingSymbol

ISymbol Возвращает значение для немедленно содержащего символа.

(Унаследовано от ISymbol)
ContainingType

INamedTypeSymbol Возвращает для содержащегося типа. Возвращает значение NULL, если символ не содержится в типе.

(Унаследовано от ISymbol)
DeclaredAccessibility

Accessibility Возвращает значение, указывающее объявленную доступность для символа. Возвращает NotApplicable, если специальные возможности не объявлены.

(Унаследовано от ISymbol)
DeclaringSyntaxReferences

Получите узлы синтаксиса, в которых этот символ был объявлен в источнике. Некоторые символы (например, частичные типы, такие как классы, структуры и интерфейсы) могут быть определены в нескольких расположениях. Это свойство должно возвращать один или несколько синтаксических узлов, только если символ был объявлен в исходном коде, а также не был неявно объявлен (см. свойство IsImplicitlyDeclared).

Обратите внимание, что для частичных элементов (методов, свойств, событий) это свойство возвращает только один синтаксический узел. Чтобы получить все синтаксические узлы для частичного элемента, используйте PartialDefinitionPart свойства IMethodSymbolв PartialImplementationPart , IPropertySymbolили IEventSymbol.

Обратите внимание, что для символа пространства имен декларативный синтаксис может объявлять вложенное пространство имен. Например, декларативный узел синтаксиса для N1 в пространстве имен N1. N2 {...}" — это все пространство именDeclarationSyntax для N1. N2. Для глобального пространства имен декларативный синтаксис будет компилятором CompilationUnitSyntax.

(Унаследовано от ISymbol)
HasConstantValue

Возвращает значение false, если локальная переменная не была объявлена как "const", или значение константы было опущено или ошибочно. Значение True в противном случае.

HasUnsupportedMetadata

Указывает, что этот символ использует метаданные, которые не могут поддерживаться языком.

Примеры:

  • Типы указателей в VB
  • Тип возвращаемого значения ByRef
  • Обязательные настраиваемые модификаторы

Это отличается от ссылок на символы метаданных, определенные в сборках, на которые не ссылались. Символы, в которых это возвращает значение true, никогда не могут использоваться успешно, поэтому никогда не должны отображаться в любой функции интегрированной среды разработки.

Это задано для символов метаданных, как показано ниже.

  • Тип — если тип не поддерживается (например, тип указателя)
  • Метод — параметр или тип возвращаемого значения не поддерживается
  • Поле — тип не поддерживается
  • Событие — тип не поддерживается
  • Свойство — тип не поддерживается
  • Параметр — тип не поддерживается

(Унаследовано от ISymbol)
IsAbstract

Возвращает значение, указывающее, является ли символ абстрактным.

(Унаследовано от ISymbol)
IsConst

Возвращает значение true, если эта локальная переменная была объявлена как const (т. е. является константным объявлением). Также возвращает значение true для элемента перечисления.

IsDefinition

Возвращает значение, указывающее, является ли символ исходным определением. Возвращает значение false, если символ является производным от другого символа, по подстановки типов для экземпляра.

(Унаследовано от ISymbol)
IsExtern

Возвращает значение, указывающее, определен ли символ внешне.

(Унаследовано от ISymbol)
IsFixed

Возвращает значение true, если локальная переменная объявлена с фиксированным инициализатором указателя (в небезопасном контексте).

IsForEach

Возвращает значение true, если эта локальная переменная объявлена как переменная итерации

IsFunctionValue

Возвращает значение true, если эта локальная переменная является возвращаемой переменной, имя которой — имя функции, тип которого является типом возвращаемой функции и начальным значением которого является значение по умолчанию для его типа.

IsImplicitlyDeclared

Возвращает значение true, если этот символ был автоматически создан компилятором и не имеет явного объявления исходного кода.

(Унаследовано от ISymbol)
IsOverride

Возвращает значение, указывающее, является ли символ переопределением символа базового класса.

(Унаследовано от ISymbol)
IsRef

Возвращает значение true, если этот локальный является локальным или refonly local. Используйте RefKind для получения более подробных сведений.

IsSealed

Возвращает значение, указывающее, запечатывается ли символ.

(Унаследовано от ISymbol)
IsStatic

Возвращает значение, указывающее, является ли символ статическим.

(Унаследовано от ISymbol)
IsUsing

Возвращает значение true, если локальная переменная объявлена в получении ресурса инструкции using; в противном случае значение false

IsVirtual

Возвращает значение, указывающее, является ли символ виртуальным.

(Унаследовано от ISymbol)
Kind

Получает значение SymbolKind , указывающее, какой символ он имеет.

(Унаследовано от ISymbol)
Language

Получает исходный язык ("C#" или "Visual Basic").

(Унаследовано от ISymbol)
Locations

Возвращает расположения, в которых символ был первоначально определен в исходном или метаданных. Некоторые символы (например, частичные типы, такие как классы, структуры и интерфейсы) могут быть определены в нескольких расположениях. Обратите внимание, что для частичных элементов (таких как методы, свойства и события), это свойство возвращает только одно расположение. Чтобы получить все расположения для частичного элемента, используйте PartialDefinitionPart свойства IMethodSymbolв PartialImplementationPart , IPropertySymbolили IEventSymbol.

(Унаследовано от ISymbol)
MetadataName

Возвращает имя символа, как оно отображается в метаданных. В большинстве случаев это то же самое, что и свойство Name, причем следующие исключения:

  1. Имя метаданных универсальных типов включает суффикс "1", "'2" и т. д. суффикс, указывающий количество параметров типа (оно не включает, однако, имена содержащих типы или пространства имен).
  2. Имя метаданных явных имен интерфейсов удаляет пробелы по сравнению со свойством name.
  3. Длина имен ограничена не превышением ограничений метаданных.
(Унаследовано от ISymbol)
MetadataToken

Возвращает маркер метаданных, связанный с этим символом, или 0, если символ не загружен из метаданных.

(Унаследовано от ISymbol)
Name

Возвращает имя символа. Возвращает пустую строку, если имя не указано.

(Унаследовано от ISymbol)
NullableAnnotation

Возвращает значение NULL верхнего уровня этой локальной переменной.

OriginalDefinition

Возвращает исходное ISymbol определение символа. Если этот символ является производным от другого символа, то при подстановке типов получается исходный символ, как он был определен в исходном или метаданных.

(Унаследовано от ISymbol)
RefKind

Указывает, является ли переменная локальной ссылкой или ссылкой.

ScopedKind

Возвращает тип локальной области.

Type

Возвращает тип этой локальной переменной.

Методы

Имя Описание
Accept(SymbolVisitor)

Представляет локальную переменную в теле метода.

(Унаследовано от ISymbol)
Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument)

Представляет локальную переменную в теле метода.

(Унаследовано от ISymbol)
Accept<TResult>(SymbolVisitor<TResult>)

Представляет локальную переменную в теле метода.

(Унаследовано от ISymbol)
Equals(ISymbol, SymbolEqualityComparer)

Определяет, равен ли этот символ другому, в соответствии с правилами предоставленных SymbolEqualityComparer

(Унаследовано от ISymbol)
GetAttributes()

Возвращает атрибуты для символа. Возвращает пустое значение ImmutableArray<T> , если атрибуты отсутствуют.

(Унаследовано от ISymbol)
GetDocumentationCommentId()

Возвращает идентификатор комментария документации для символа или значение NULL, если символ не поддерживает комментарии документации.

(Унаследовано от ISymbol)
GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken)

Возвращает XML-код (в виде текста) для комментария, связанного с символом.

(Унаследовано от ISymbol)
ToDisplayParts(SymbolDisplayFormat)

Преобразуйте символ в массив строковых частей, каждый из которых имеет вид. Полезно для цвета отображаемой строки.

(Унаследовано от ISymbol)
ToDisplayString(SymbolDisplayFormat)

Преобразует символ в строковое представление.

(Унаследовано от ISymbol)
ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat)

Преобразуйте символ в массив строковых частей, каждый из которых имеет вид. Может быть адаптировано к определенному расположению в исходном коде. Полезно для цвета отображаемой строки.

(Унаследовано от ISymbol)
ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat)

Преобразуйте символ в строку, которую можно отобразить пользователю. Может быть адаптировано к определенному расположению в исходном коде.

(Унаследовано от ISymbol)

Методы расширения

Имя Описание
IsCatch(ILocalSymbol)

Представляет локальную переменную в теле метода.

IsFor(ILocalSymbol)

Представляет локальную переменную в теле метода.

IsForEach(ILocalSymbol)

Представляет локальную переменную в теле метода.

IsMustOverride(ISymbol)

Представляет локальную переменную в теле метода.

IsNotOverridable(ISymbol)

Представляет локальную переменную в теле метода.

IsOverridable(ISymbol)

Представляет локальную переменную в теле метода.

IsOverrides(ISymbol)

Представляет локальную переменную в теле метода.

IsShared(ISymbol)

Определяет, является ли символ общим.

Применяется к