IErrorTypeSymbol Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
IErrorTypeSymbol используется, когда компилятор не может определить возвращаемый объект символа из-за ошибки. Например, если поле объявлено "Goo x;", а тип "Goo" не найден, при запросе поля "x" типа возвращается IErrorTypeSymbol.
public interface class IErrorTypeSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::INamedTypeSymbol
public interface IErrorTypeSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.INamedTypeSymbol
type IErrorTypeSymbol = interface
interface INamedTypeSymbol
interface ITypeSymbol
interface INamespaceOrTypeSymbol
interface ISymbol
interface IEquatable<ISymbol>
Public Interface IErrorTypeSymbol
Implements IEquatable(Of ISymbol), INamedTypeSymbol
- Реализации
Комментарии
Этот интерфейс зарезервирован для реализации связанными API. Мы оставляем за собой право изменить его в будущем.
Свойства
AllInterfaces |
Список всех интерфейсов, для которых этот тип является объявленным подтипом, за исключением самого этого типа. Сюда входят все объявленные базовые интерфейсы, все объявленные базовые интерфейсы базовых типов и все объявленные базовые интерфейсы этих результатов (рекурсивно). Это также эффективный набор интерфейсов параметра типа. Каждый результат отображается в списке ровно один раз. Этот список топологически отсортирован по связи наследования: если тип интерфейса A расширяет тип интерфейса B, то A предшествует B в списке. Это не совсем то же самое, что "все интерфейсы, для которых этот тип является правильным подтипом", поскольку он не учитывает дисперсию: AllInterfaces для строки IEnumerable<не будет включать объект> IEnumerable<.> (Унаследовано от ITypeSymbol) |
Arity |
Возвращает arity этого типа или количество параметров типа, которые он принимает. Неуниверсационный тип имеет нулевую arity. (Унаследовано от INamedTypeSymbol) |
AssociatedSymbol |
Для неявно объявленных типов делегатов возвращает значение EventSymbol, вызвавшее создание этого типа делегата. Для всех остальных типов возвращает значение NULL. Обратите внимание, что набор возможных связанных символов может быть расширен в будущем, чтобы отразить изменения в языках. (Унаследовано от INamedTypeSymbol) |
BaseType |
Объявленный базовый тип этого типа или null. Тип объекта, типы интерфейсов и типы указателей не имеют базового типа. Базовым типом параметра типа является его действующий базовый класс. (Унаследовано от ITypeSymbol) |
CanBeReferencedByName |
Возвращает значение true, если на этот символ можно ссылаться по его имени в коде. (Унаследовано от ISymbol) |
CandidateReason |
Если функция CandidateSymbols возвращает один или несколько символов, возвращает причину, по которой эти символы не были выбраны. В противном случае возвращает значение None. |
CandidateSymbols |
При построении этого типа, возможно, были символы, которые казались тем, что пользователь намеревался, но были неподходящими. Например, тип мог быть недоступен или неоднозначн. Это свойство возвращает возможные символы, которые могли быть задуманы пользователем. Если возможные символы не найдены, он не вернет никаких символов. Ознакомьтесь со свойством CandidateReason, чтобы понять, почему символы были неподходящими. |
ConstructedFrom |
Возвращает символ типа, на основе который был создан этот тип. Этот символ типа имеет тот же содержащий тип (если таковой имеется), но имеет аргументы типа, которые совпадают с параметрами типа (хотя его содержащий тип может не совпадать). (Унаследовано от INamedTypeSymbol) |
Constructors |
Получите как экземпляр, так и статические конструкторы для этого типа. (Унаследовано от INamedTypeSymbol) |
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). Обратите внимание, что для символа пространства имен декларативный синтаксис может объявлять вложенное пространство имен. Например, узел объявляющего синтаксиса для N1 в пространстве имен N1. N2 {...}" — это весь namespaceDeclarationSyntax для N1. N2. Для глобального пространства имен декларативным синтаксисом будет CompilationUnitSyntax. (Унаследовано от ISymbol) |
DelegateInvokeMethod |
Для типов делегатов возвращает метод вызова делегата. Возвращает значение NULL для всех других типов типов. Обратите внимание, что из метаданных можно импортировать неправильно сформированный тип делегата, который не имеет метода Invoke. Такой тип будет классифицирован как делегат, но его DelegateInvokeMethod будет иметь значение NULL. (Унаследовано от INamedTypeSymbol) |
EnumUnderlyingType |
Для типов перечисления возвращает базовый тип. Возвращает значение NULL для всех других типов типов. (Унаследовано от INamedTypeSymbol) |
HasUnsupportedMetadata |
Указывает, что этот символ использует метаданные, которые не поддерживаются языком. Примеры приведены ниже.
Это отличается, например, от ссылок на символы метаданных, определенные в сборках, на которые не ссылались. Символы, в которых возвращается значение true, никогда не могут использоваться успешно и поэтому никогда не должны отображаться в какой-либо функции интегрированной среды разработки. Этот параметр задается для символов метаданных следующим образом:
|
InstanceConstructors |
Получение конструкторов экземпляров для этого типа. (Унаследовано от INamedTypeSymbol) |
Interfaces |
Возвращает набор интерфейсов, непосредственно реализуемых этим типом. Этот набор не включает интерфейсы, которые являются базовыми интерфейсами непосредственно реализованных интерфейсов. Сюда входят интерфейсы, объявленные как ограничения для параметров типа. (Унаследовано от ITypeSymbol) |
IsAbstract |
Возвращает значение, указывающее, является ли символ абстрактным. (Унаследовано от ISymbol) |
IsAnonymousType |
Является ли это символом для анонимного типа (включая анонимный делегат VB). (Унаследовано от ITypeSymbol) |
IsComImport |
Указывает, что класс или интерфейс импортирован из другого модуля. См. Import и ComImportAttribute. (Унаследовано от INamedTypeSymbol) |
IsDefinition |
Возвращает значение, указывающее, является ли символ исходным определением. Возвращает значение false, если символ является производным от другого символа путем подстановки типа для экземпляра . (Унаследовано от ISymbol) |
IsExtern |
Возвращает значение, указывающее, определен ли символ извне. (Унаследовано от ISymbol) |
IsFileLocal |
Указывает, что тип объявлен в источнике и отображается только в файле, в который он объявлен. (Унаследовано от INamedTypeSymbol) |
IsGenericType |
Значение true, если этот или какой-либо содержащий тип имеет параметры типа. (Унаследовано от INamedTypeSymbol) |
IsImplicitClass |
Возвращает значение true, если тип является неявным классом, который содержит недопустимые глобальные члены (например, методы или инструкции в файле, отличном от скрипта). (Унаследовано от INamedTypeSymbol) |
IsImplicitlyDeclared |
Возвращает значение true, если этот символ был автоматически создан компилятором и не имеет явного соответствующего объявления исходного кода. (Унаследовано от ISymbol) |
IsNamespace |
Возвращает значение true, если этот символ является пространством имен. Если это не пространство имен, это должен быть тип. (Унаследовано от INamespaceOrTypeSymbol) |
IsNativeIntegerType |
Значение true, если тип представляет собственное целое число. В C# типы, представленные ключевыми словами языка nint и nuint. (Унаследовано от ITypeSymbol) |
IsOverride |
Возвращает значение, указывающее, является ли символ переопределением символа базового класса. (Унаследовано от ISymbol) |
IsReadOnly |
Значение true, если тип доступен только для чтения. (Унаследовано от ITypeSymbol) |
IsRecord |
Для исходных символов значение true, если типом является запись. Для символов метаданных значение true, если типом является запись и ссылочный тип. (Унаследовано от ITypeSymbol) |
IsReferenceType |
Значение true, если этот тип известен как ссылочный тип. Это никогда не так, что IsReferenceType и оба IsValueType возвращают true. Однако для параметра IsReferenceType неограниченного типа и IsValueType будут возвращать значение false. (Унаследовано от ITypeSymbol) |
IsRefLikeType |
Значение true, если тип похож на ссылку, то есть он следует правилам, аналогичным переменным CLR by-ref. False, если тип не является ссылочный или язык не имеет понятия ссылочных типов. (Унаследовано от ITypeSymbol) |
IsScriptClass |
Возвращает значение true, если тип является классом Script. Это может быть интерактивный класс отправки или класс Script в CSX-файле. (Унаследовано от INamedTypeSymbol) |
IsSealed |
Возвращает значение, указывающее, запечатан ли символ. (Унаследовано от ISymbol) |
IsSerializable |
Значение true, если тип является сериализуемым (имеет флаг сериализуемых метаданных). (Унаследовано от INamedTypeSymbol) |
IsStatic |
Возвращает значение, указывающее, является ли символ статическим. (Унаследовано от ISymbol) |
IsTupleType |
Является ли это символом кортежа . (Унаследовано от ITypeSymbol) |
IsType |
Возвращает значение true, если эти символы являются типом. Если это не тип, это должно быть пространство имен. (Унаследовано от INamespaceOrTypeSymbol) |
IsUnboundGenericType |
Значение true, если это ссылка на несвязанный универсальный тип. Универсальный тип считается несвязанным, если все списки аргументов типа в его полном имени пусты. Обратите внимание, что аргументы типа несвязанного универсального типа будут возвращены как типы ошибок, так как они на самом деле не имеют аргументов типа. Несвязанный универсальный тип возвращает значение NULL для его BaseType и пустой результат для его интерфейсов. (Унаследовано от INamedTypeSymbol) |
IsUnmanagedType |
Значение true, если тип неуправляем в соответствии с языковыми правилами. False при управлении или если язык не имеет понятия неуправляемых типов. (Унаследовано от ITypeSymbol) |
IsValueType |
Значение true, если этот тип известен как тип значения. Это никогда не так, что IsReferenceType и оба IsValueType возвращают true. Однако для параметра IsReferenceType неограниченного типа и IsValueType будут возвращать значение false. (Унаследовано от ITypeSymbol) |
IsVirtual |
Возвращает значение, указывающее, является ли символ виртуальным. (Унаследовано от ISymbol) |
Kind |
Возвращает объект , указывающий SymbolKind , какой тип символа. (Унаследовано от ISymbol) |
Language |
Возвращает исходный язык ("C#" или "Visual Basic"). (Унаследовано от ISymbol) |
Locations |
Возвращает расположения, в которых символ был первоначально определен в источнике или метаданных. Некоторые символы (например, разделяемые классы) могут быть определены в нескольких расположениях. (Унаследовано от ISymbol) |
MemberNames |
Возвращает коллекцию имен членов, объявленных в этом типе. (Унаследовано от INamedTypeSymbol) |
MetadataName |
Возвращает имя символа, отображаемого в метаданных. В большинстве случаев это то же самое, что и свойство Name, за следующими исключениями:
|
MetadataToken |
Возвращает маркер метаданных, связанный с этим символом, или значение 0, если символ не загружается из метаданных. (Унаследовано от ISymbol) |
MightContainExtensionMethods |
Определяет, может ли символ содержать методы расширения. Если значение равно false, символ не содержит методов расширения. (Унаследовано от INamedTypeSymbol) |
Name |
Получает имя символа. Возвращает пустую строку, если она не именована. (Унаследовано от ISymbol) |
NativeIntegerUnderlyingType |
Если это собственное целое число, возвращает символ для базового типа: IntPtr или UIntPtr. В противном случае возвращает значение NULL. (Унаследовано от INamedTypeSymbol) |
NullableAnnotation |
Заметка, допускаемая значением NULL, связанная с типом, или None , если ее нет. (Унаследовано от ITypeSymbol) |
OriginalDefinition |
Исходное определение этого символа. Если этот символ создан из другого символа путем подстановки типа, то OriginalDefinition получает исходный символ, определенный в источнике или метаданных. (Унаследовано от ITypeSymbol) |
SpecialType |
Перечисленное значение, идентифицирующее определенные "специальные" типы, Objectнапример . Возвращает значение None , если тип не является специальным. (Унаследовано от ITypeSymbol) |
StaticConstructors |
Получение статических конструкторов для этого типа. (Унаследовано от INamedTypeSymbol) |
TupleElements |
Возвращает поля, представляющие элементы кортежа для типов, которые являются кортежами. Если этот тип не является кортежем, возвращает значение по умолчанию. (Унаследовано от INamedTypeSymbol) |
TupleUnderlyingType |
Если это тип кортежа с именами элементов, возвращает символ для типа кортежа без имен. В противном случае возвращает значение NULL. Аргумент типа, соответствующий типу поля расширения (VT[8]. Rest), который находится в 8-й позиции (на основе одного) всегда является символом для другого кортежа, а не его базового типа. (Унаследовано от INamedTypeSymbol) |
TypeArgumentNullableAnnotations |
Возвращает допустимость значений NULL верхнего уровня для аргументов типа, которые были заменены параметрами типа. Если для заданного параметра типа ничего не было заменено, для None этого аргумента типа возвращается значение . (Унаследовано от INamedTypeSymbol) |
TypeArguments |
Возвращает аргументы типа, которые были заменены параметрами типа. Если заданный параметр типа не был заменен, то сам параметр типа считается аргументом типа. (Унаследовано от INamedTypeSymbol) |
TypeArgumentsNullableAnnotations |
Возвращает допустимость значений NULL верхнего уровня для аргументов типа, которые были заменены параметрами типа. Если для заданного параметра типа ничего не было заменено, для NotApplicable этого аргумента типа возвращается значение . (Унаследовано от INamedTypeSymbol) |
TypeKind |
Перечисляемое значение, определяющее, является ли этот тип массивом, указателем, перечислением и т. д. (Унаследовано от ITypeSymbol) |
TypeParameters |
Возвращает параметры типа, имеющиеся у этого типа. Если это неуниверсарный тип, возвращает пустой объект ImmutableArray. (Унаследовано от INamedTypeSymbol) |
Методы
Accept(SymbolVisitor) |
IErrorTypeSymbol используется, когда компилятор не может определить возвращаемый объект символа из-за ошибки. Например, если поле объявлено "Goo x;", а тип "Goo" не найден, при запросе поля "x" типа возвращается IErrorTypeSymbol. (Унаследовано от ISymbol) |
Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument) |
IErrorTypeSymbol используется, когда компилятор не может определить возвращаемый объект символа из-за ошибки. Например, если поле объявлено "Goo x;", а тип "Goo" не найден, при запросе поля "x" типа возвращается IErrorTypeSymbol. (Унаследовано от ISymbol) |
Accept<TResult>(SymbolVisitor<TResult>) |
IErrorTypeSymbol используется, когда компилятор не может определить возвращаемый объект символа из-за ошибки. Например, если поле объявлено "Goo x;", а тип "Goo" не найден, при запросе поля "x" типа возвращается IErrorTypeSymbol. (Унаследовано от ISymbol) |
Construct(ImmutableArray<ITypeSymbol>, ImmutableArray<NullableAnnotation>) |
Возвращает сконструированный тип с учетом его аргументов типа и заметок, допускающих значение NULL. (Унаследовано от INamedTypeSymbol) |
Construct(ITypeSymbol[]) |
Возвращает сконструированный тип с учетом его аргументов типа. (Унаследовано от INamedTypeSymbol) |
ConstructUnboundGenericType() |
Возвращает несвязанный универсальный тип этого именованного типа. (Унаследовано от INamedTypeSymbol) |
Equals(ISymbol, SymbolEqualityComparer) |
Определяет, равен ли этот символ другому в соответствии с правилами указанного SymbolEqualityComparer (Унаследовано от ISymbol) |
FindImplementationForInterfaceMember(ISymbol) |
Возвращает соответствующий символ в этом типе или базовом типе, реализующий interfaceMember (неявно или явно), или null, если такого символа не существует (это может быть вызвано тем, что этот тип не реализует контейнер interfaceMember или этот тип не предоставляет член, который успешно реализует interfaceMember). (Унаследовано от ITypeSymbol) |
GetAttributes() |
Возвращает атрибуты для символа. Возвращает пустой IEnumerable<T> объект , если атрибуты отсутствуют. (Унаследовано от ISymbol) |
GetDocumentationCommentId() |
Возвращает идентификатор комментария документации для символа или значение NULL, если символ не поддерживает комментарии документации. (Унаследовано от ISymbol) |
GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken) |
Возвращает XML-код (в виде текста) для комментария, связанного с символом . (Унаследовано от ISymbol) |
GetMembers() |
Получение всех элементов этого символа. (Унаследовано от INamespaceOrTypeSymbol) |
GetMembers(String) |
Получение всех элементов этого символа с определенным именем. (Унаследовано от INamespaceOrTypeSymbol) |
GetTypeArgumentCustomModifiers(Int32) |
Возвращает пользовательские модификаторы для аргумента типа, который был заменен параметром типа. Модификаторы соответствуют аргументу типа в том же порядковом номере в массиве TypeArguments . Возвращает пустой массив, если модификаторов нет. (Унаследовано от INamedTypeSymbol) |
GetTypeMembers() |
Получение всех элементов этого символа, которые являются типами. (Унаследовано от INamespaceOrTypeSymbol) |
GetTypeMembers(String) |
Получение всех членов этого символа, которые являются типами, имеющими определенное имя любого arity. (Унаследовано от INamespaceOrTypeSymbol) |
GetTypeMembers(String, Int32) |
Получение всех членов этого символа, которые являются типами с определенным именем и arity (Унаследовано от INamespaceOrTypeSymbol) |
ToDisplayParts(NullableFlowState, SymbolDisplayFormat) |
Преобразует символ в массив строковых частей, каждая из которых имеет тип . Полезно для раскраски отображаемой строки. (Унаследовано от ITypeSymbol) |
ToDisplayParts(SymbolDisplayFormat) |
Преобразуйте символ в массив строковых частей, каждая из которых имеет тип . Полезно для раскраски отображаемой строки. (Унаследовано от ISymbol) |
ToDisplayString(NullableFlowState, SymbolDisplayFormat) |
Преобразует |
ToDisplayString(SymbolDisplayFormat) |
Преобразует символ в строковое представление. (Унаследовано от ISymbol) |
ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat) |
Преобразуйте символ в массив строковых частей, каждая из которых имеет тип . Может быть адаптировано к определенному расположению в исходном коде. Полезно для раскраски отображаемой строки. (Унаследовано от ISymbol) |
ToMinimalDisplayParts(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat) |
Преобразуйте символ в массив строковых частей, каждая из которых имеет тип . Может быть адаптировано к определенному расположению в исходном коде. Полезно для раскраски отображаемой строки. (Унаследовано от ITypeSymbol) |
ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat) |
Преобразуйте символ в строку, которая может отображаться для пользователя. Может быть адаптировано к определенному расположению в исходном коде. (Унаследовано от ISymbol) |
ToMinimalDisplayString(SemanticModel, NullableFlowState, Int32, SymbolDisplayFormat) |
Преобразует символ в строку, которая может отображаться для пользователя. Может быть адаптировано к определенному расположению в исходном коде. (Унаследовано от ITypeSymbol) |
WithNullableAnnotation(NullableAnnotation) |
Возвращает тот же тип, что и этот тип, но с заданной заметкой, допускаемой значением NULL. (Унаследовано от ITypeSymbol) |
Методы расширения
IsMustOverride(ISymbol) |
IErrorTypeSymbol используется, когда компилятор не может определить возвращаемый объект символа из-за ошибки. Например, если поле объявлено "Goo x;", а тип "Goo" не найден, при запросе поля "x" типа возвращается IErrorTypeSymbol. |
IsNotOverridable(ISymbol) |
IErrorTypeSymbol используется, когда компилятор не может определить возвращаемый объект символа из-за ошибки. Например, если поле объявлено "Goo x;", а тип "Goo" не найден, при запросе поля "x" типа возвращается IErrorTypeSymbol. |
IsOverridable(ISymbol) |
IErrorTypeSymbol используется, когда компилятор не может определить возвращаемый объект символа из-за ошибки. Например, если поле объявлено "Goo x;", а тип "Goo" не найден, при запросе поля "x" типа возвращается IErrorTypeSymbol. |
IsOverrides(ISymbol) |
IErrorTypeSymbol используется, когда компилятор не может определить возвращаемый объект символа из-за ошибки. Например, если поле объявлено "Goo x;", а тип "Goo" не найден, при запросе поля "x" типа возвращается IErrorTypeSymbol. |
IsShared(ISymbol) |
Определяет, является ли символ общим. |
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по