ITypeParameterSymbol Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет параметр типа в универсальном типе или универсальном методе.
public interface class ITypeParameterSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::ITypeSymbol
public interface ITypeParameterSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.ITypeSymbol
type ITypeParameterSymbol = interface
interface ITypeSymbol
interface INamespaceOrTypeSymbol
interface ISymbol
interface IEquatable<ISymbol>
Public Interface ITypeParameterSymbol
Implements IEquatable(Of ISymbol), ITypeSymbol
- Реализации
Комментарии
Этот интерфейс зарезервирован для реализации связанными API. Мы зарезервируем право изменить его в будущем.
Свойства
| Имя | Описание |
|---|---|
| AllInterfaces |
Список всех интерфейсов, в которых этот тип является объявленным подтипом, за исключением самого этого типа. Сюда входят все объявленные базовые интерфейсы, все объявленные базовые интерфейсы базовых типов и все объявленные базовые интерфейсы этих результатов (рекурсивно). Это также эффективный набор интерфейсов параметра типа. Каждый результат отображается ровно один раз в списке. Этот список отсортирован по связям наследования: если тип интерфейса A расширяет тип интерфейса B, то A предшествует B в списке. Это не совсем то же самое, что "все интерфейсы, в которых этот тип является правильным подтипом", так как он не учитывает дисперсию: AllInterfaces для строки IEnumerable<не будет включать объект> IEnumerable<.> (Унаследовано от ITypeSymbol) |
| AllowsRefLikeType |
Значение True, если ограничение "разрешить структуру ссылок" было указано для параметра типа. |
| BaseType |
Объявленный базовый тип этого типа или null. Тип объекта, типы интерфейса, типы указателей и параметры типа не имеют базового типа. (Унаследовано от ITypeSymbol) |
| CanBeReferencedByName |
Возвращает значение true, если на этот символ можно ссылаться по имени в коде. (Унаследовано от ISymbol) |
| ConstraintNullableAnnotations |
Значения NULL верхнего уровня, которые были непосредственно указаны в качестве ограничений для типов ограничений. |
| ConstraintTypes |
Типы, которые были непосредственно указаны в качестве ограничений для параметра типа. |
| ContainingAssembly |
IAssemblySymbol Возвращает значение для содержащей сборки. Возвращает значение NULL, если символ используется для нескольких сборок. (Унаследовано от ISymbol) |
| ContainingModule |
IModuleSymbol Возвращает значение для содержащего модуля. Возвращает значение NULL, если символ используется для нескольких модулей. (Унаследовано от ISymbol) |
| ContainingNamespace |
Возвращает ближайшее INamespaceSymbol заключающее пространство имен. Возвращает значение NULL, если символ не содержится в пространстве имен. (Унаследовано от ISymbol) |
| ContainingSymbol |
ISymbol Возвращает значение для немедленно содержащего символа. (Унаследовано от ISymbol) |
| ContainingType |
INamedTypeSymbol Возвращает для содержащегося типа. Возвращает значение NULL, если символ не содержится в типе. (Унаследовано от ISymbol) |
| DeclaredAccessibility |
Accessibility Возвращает значение, указывающее объявленную доступность для символа. Возвращает NotApplicable, если специальные возможности не объявлены. (Унаследовано от ISymbol) |
| DeclaringMethod |
Метод, объявляющий параметр типа или null. |
| DeclaringSyntaxReferences |
Получите узлы синтаксиса, в которых этот символ был объявлен в источнике. Некоторые символы (например, частичные типы, такие как классы, структуры и интерфейсы) могут быть определены в нескольких расположениях. Это свойство должно возвращать один или несколько синтаксических узлов, только если символ был объявлен в исходном коде, а также не был неявно объявлен (см. свойство IsImplicitlyDeclared).
Обратите внимание, что для частичных элементов (методов, свойств, событий) это свойство возвращает только один синтаксический узел. Чтобы получить все синтаксические узлы для частичного элемента, используйте Обратите внимание, что для символа пространства имен декларативный синтаксис может объявлять вложенное пространство имен. Например, декларативный узел синтаксиса для N1 в пространстве имен N1. N2 {...}" — это все пространство именDeclarationSyntax для N1. N2. Для глобального пространства имен декларативный синтаксис будет компилятором CompilationUnitSyntax. (Унаследовано от ISymbol) |
| DeclaringType |
Тип, объявляющий параметр типа или null. |
| ExtensionParameter |
Устаревшие..
Параметр расширения, если это объявление расширения (IsExtension имеет значение true). (Унаследовано от ITypeSymbol) |
| HasConstructorConstraint |
Значение True, если для параметра type задано ограничение конструктора без |
| HasNotNullConstraint |
Значение true, если ограничение notnull ( |
| HasReferenceTypeConstraint |
Значение True, если для параметра типа задано ограничение |
| HasUnmanagedTypeConstraint |
Значение true, если для параметра type задано ограничение типа ( |
| HasUnsupportedMetadata |
Указывает, что этот символ использует метаданные, которые не могут поддерживаться языком. Примеры:
Это отличается от ссылок на символы метаданных, определенные в сборках, на которые не ссылались. Символы, в которых это возвращает значение true, никогда не могут использоваться успешно, поэтому никогда не должны отображаться в любой функции интегрированной среды разработки. Это задано для символов метаданных, как показано ниже.
|
| HasValueTypeConstraint |
Значение true, если для параметра type задано ограничение типа ( |
| Interfaces |
Возвращает набор интерфейсов, которые этот тип реализует напрямую. Этот набор не включает интерфейсы, которые являются базовыми интерфейсами непосредственно реализованных интерфейсов. К ним относятся интерфейсы, объявленные как ограничения для параметров типа. (Унаследовано от ITypeSymbol) |
| IsAbstract |
Возвращает значение, указывающее, является ли символ абстрактным. (Унаследовано от ISymbol) |
| IsAnonymousType |
Это символ анонимного типа (включая анонимный делегат VB). (Унаследовано от ITypeSymbol) |
| IsDefinition |
Возвращает значение, указывающее, является ли символ исходным определением. Возвращает значение false, если символ является производным от другого символа, по подстановки типов для экземпляра. (Унаследовано от ISymbol) |
| IsExtension |
Устаревшие..
Это символ объявления расширения. (Унаследовано от ITypeSymbol) |
| IsExtern |
Возвращает значение, указывающее, определен ли символ внешне. (Унаследовано от ISymbol) |
| 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, если тип является ref-like, то есть он соответствует правилам, аналогичным переменным clR by-ref. Значение false, если тип не является ref-like или если язык не имеет понятия о типах ссылок. (Унаследовано от ITypeSymbol) |
| IsSealed |
Возвращает значение, указывающее, запечатывается ли символ. (Унаследовано от ISymbol) |
| IsStatic |
Возвращает значение, указывающее, является ли символ статическим. (Унаследовано от ISymbol) |
| IsTupleType |
Это символ кортежа. (Унаследовано от ITypeSymbol) |
| IsType |
Возвращает значение true, если этот символ является типом. Если он не является типом, он должен быть пространством имен. (Унаследовано от INamespaceOrTypeSymbol) |
| IsUnmanagedType |
Значение True, если тип неуправляем в соответствии с правилами языка. Значение false, если управляемое или если язык не имеет понятия неуправляемых типов. (Унаследовано от ITypeSymbol) |
| IsValueType |
Значение true, если этот тип известен как тип значения. Это никогда не так, что IsReferenceType и IsValueType оба возвращают значение true. Однако для параметра IsReferenceType без ограничений типа и IsValueType возвращает значение false. (Унаследовано от ITypeSymbol) |
| IsVirtual |
Возвращает значение, указывающее, является ли символ виртуальным. (Унаследовано от ISymbol) |
| Kind |
Получает значение SymbolKind , указывающее, какой символ он имеет. (Унаследовано от ISymbol) |
| Language |
Получает исходный язык ("C#" или "Visual Basic"). (Унаследовано от ISymbol) |
| Locations |
Возвращает расположения, в которых символ был первоначально определен в исходном или метаданных. Некоторые символы (например, частичные типы, такие как классы, структуры и интерфейсы) могут быть определены в нескольких расположениях. Обратите внимание, что для частичных элементов (таких как методы, свойства и события), это свойство возвращает только одно расположение. Чтобы получить все расположения для частичного элемента, используйте |
| MetadataName |
Возвращает имя символа, как оно отображается в метаданных. В большинстве случаев это то же самое, что и свойство Name, причем следующие исключения:
|
| MetadataToken |
Возвращает маркер метаданных, связанный с этим символом, или 0, если символ не загружен из метаданных. (Унаследовано от ISymbol) |
| Name |
Возвращает имя символа. Возвращает пустую строку, если имя не указано. (Унаследовано от ISymbol) |
| NullableAnnotation |
Заметка, связанная с типом, или None если нет. (Унаследовано от ITypeSymbol) |
| Ordinal |
Порядковое положение параметра типа в списке параметров, который объявляет его. Первый параметр типа имеет порядковый номер нуля. |
| OriginalDefinition |
Получите исходное определение этого символа типа. Если этот символ является производным от другого символа с помощью подстановки типа (скажем), он получает исходный символ, так как он был определен в исходном или метаданных. |
| ReducedFrom |
Если это параметр типа сокращенного метода расширения, возвращает определение параметра типа, из которому был сокращен этот параметр типа. В противном случае возвращает значение Nothing. |
| ReferenceTypeConstraintNullableAnnotation |
Если HasReferenceTypeConstraint значение равно true, возвращает значение |
| SpecialType |
Перечисленное значение, определяющее определенные "специальные" типы, такие как Object. Возвращает, None если тип не является особенным. (Унаследовано от ITypeSymbol) |
| TypeKind |
Перечисленное значение, определяющее, является ли этот тип массивом, указателем, перечислением и т. д. (Унаследовано от ITypeSymbol) |
| TypeParameterKind |
Тип параметра типа этого параметра типа. |
| Variance |
Заметка о дисперсии( если она есть) объявления параметра типа. Параметры типа могут быть объявлены как ковариантные (), контравариантные ( |
Методы
| Имя | Описание |
|---|---|
| Accept(SymbolVisitor) |
Представляет параметр типа в универсальном типе или универсальном методе. (Унаследовано от ISymbol) |
| Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument) |
Представляет параметр типа в универсальном типе или универсальном методе. (Унаследовано от ISymbol) |
| Accept<TResult>(SymbolVisitor<TResult>) |
Представляет параметр типа в универсальном типе или универсальном методе. (Унаследовано от ISymbol) |
| Equals(ISymbol, SymbolEqualityComparer) |
Определяет, равен ли этот символ другому, в соответствии с правилами предоставленных SymbolEqualityComparer (Унаследовано от ISymbol) |
| FindImplementationForInterfaceMember(ISymbol) |
Возвращает соответствующий символ в этом типе или базовый тип, реализующий интерфейсMember (неявно или явно), или null, если такой символ отсутствует (это может быть либо потому, что этот тип не реализует контейнер interfaceMember, либо этот тип не предоставляет член, который успешно реализует интерфейсMember). (Унаследовано от ITypeSymbol) |
| GetAttributes() |
Возвращает атрибуты для символа. Возвращает пустое значение ImmutableArray<T> , если атрибуты отсутствуют. (Унаследовано от ISymbol) |
| GetDocumentationCommentId() |
Возвращает идентификатор комментария документации для символа или значение NULL, если символ не поддерживает комментарии документации. (Унаследовано от ISymbol) |
| GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken) |
Возвращает XML-код (в виде текста) для комментария, связанного с символом. (Унаследовано от ISymbol) |
| GetMembers() |
Получите все члены этого символа. (Унаследовано от INamespaceOrTypeSymbol) |
| GetMembers(String) |
Получите все члены этого символа с определенным именем. (Унаследовано от INamespaceOrTypeSymbol) |
| GetTypeMembers() |
Получите все члены этого символа, которые являются типами. (Унаследовано от INamespaceOrTypeSymbol) |
| GetTypeMembers(String, Int32) |
Получение всех элементов этого символа, которые являются типами, имеющими определенное имя и arity (Унаследовано от INamespaceOrTypeSymbol) |
| GetTypeMembers(String) |
Получите все члены этого символа, которые являются типами, имеющими определенное имя, любого 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) |
Представляет параметр типа в универсальном типе или универсальном методе. |
| IsNotOverridable(ISymbol) |
Представляет параметр типа в универсальном типе или универсальном методе. |
| IsOverridable(ISymbol) |
Представляет параметр типа в универсальном типе или универсальном методе. |
| IsOverrides(ISymbol) |
Представляет параметр типа в универсальном типе или универсальном методе. |
| IsShared(ISymbol) |
Определяет, является ли символ общим. |