IArrayTypeSymbol 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示数组。
public interface class IArrayTypeSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::ITypeSymbol
public interface IArrayTypeSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.ITypeSymbol
type IArrayTypeSymbol = interface
interface ITypeSymbol
interface INamespaceOrTypeSymbol
interface ISymbol
interface IEquatable<ISymbol>
Public Interface IArrayTypeSymbol
Implements IEquatable(Of ISymbol), ITypeSymbol
- 实现
注解
此接口由其关联的 API 保留用于实现。 我们保留将来更改它的权利。
属性
AllInterfaces |
此类型是声明的子类型(不包括此类型本身)的所有接口的列表。 这包括所有声明的基接口、基类型的所有声明基接口,以及这些结果的所有声明基接口, (递归) 。 这也是类型参数的有效接口集。 每个结果在列表中只显示一次。 此列表按继承关系按拓扑排序:如果接口类型 A 扩展了接口类型 B,则 A 在列表中先于 B。 这与“此类型是适当的子类型的所有接口”不同,因为它不考虑方差:IEnumerable<字符串> 的 AllInterfaces 将不包括 IEnumerable<对象>。 (继承自 ITypeSymbol) |
BaseType |
此类型的声明基类型,或 null。 对象类型、接口类型和指针类型没有基类型。 类型参数的基类型是其有效的基类。 (继承自 ITypeSymbol) |
CanBeReferencedByName |
如果此符号可以在代码中按其名称引用,则返回 true。 (继承自 ISymbol) |
ContainingAssembly |
IAssemblySymbol获取包含程序集的 。 如果符号在多个程序集之间共享,则返回 null。 (继承自 ISymbol) |
ContainingModule |
IModuleSymbol获取包含模块的 。 如果符号在多个模块之间共享,则返回 null。 (继承自 ISymbol) |
ContainingNamespace |
INamespaceSymbol获取最接近的封闭命名空间的 。 如果命名空间中不包含符号,则返回 null。 (继承自 ISymbol) |
ContainingSymbol |
ISymbol获取立即包含符号的 。 (继承自 ISymbol) |
ContainingType |
INamedTypeSymbol获取包含类型的 。 如果该符号不包含在类型中,则返回 null。 (继承自 ISymbol) |
CustomModifiers |
与数组类型关联的自定义修饰符;如果没有,则为空数组。 |
DeclaredAccessibility |
获取一个 , Accessibility 指示符号的声明辅助功能。 如果未声明辅助功能,则返回 NotApplicable。 (继承自 ISymbol) |
DeclaringSyntaxReferences |
获取语法节点 (在源中声明此符号的) 。 某些符号 (例如,分部类) 可以在多个位置定义。 仅当符号在源代码中声明并且未隐式声明 (看到 IsImplicitlyDeclared 属性) 时,此属性才应返回一个或多个语法节点。 请注意,对于命名空间符号,声明语法可能声明嵌套命名空间。 例如,“命名空间 N1”中 N1 的声明语法节点。N2 {...}” 是 N1 的整个 NamespaceDeclarationSyntax。N2。 对于全局命名空间,声明语法将是 CompilationUnitSyntax。 (继承自 ISymbol) |
ElementNullableAnnotation |
获取数组中存储的元素的顶级可为空性。 |
ElementType |
获取存储在数组中的元素的类型。 |
HasUnsupportedMetadata |
指示此符号使用语言不支持的元数据。 示例包括:
例如,这与未引用的程序集中定义的元数据符号的引用进行了区分。 此返回 true 的符号永远不能成功使用,因此不应出现在任何 IDE 功能中。 这是为元数据符号设置的,如下所示:
|
Interfaces |
获取此类型直接实现的接口集。 此集不包括作为直接实现接口的基础接口的接口。 这确实包括声明为类型参数约束的接口。 (继承自 ITypeSymbol) |
IsAbstract |
获取一个值,该值指示符号是否为抽象符号。 (继承自 ISymbol) |
IsAnonymousType |
这是匿名类型的符号 (包括匿名 VB 委托) 。 (继承自 ITypeSymbol) |
IsDefinition |
获取一个值,该值指示符号是否为原始定义。 如果符号派生自另一个符号,则返回 false(按例如的类型替换)。 (继承自 ISymbol) |
IsExtern |
获取一个值,该值指示符号是否在外部定义。 (继承自 ISymbol) |
IsImplicitlyDeclared |
如果此符号由编译器自动创建,并且没有显式的相应源代码声明,则返回 true。 (继承自 ISymbol) |
IsNamespace |
如果此符号是命名空间,则返回 true。 如果它不是命名空间,则它必须是类型。 (继承自 INamespaceOrTypeSymbol) |
IsNativeIntegerType |
如此 如果类型表示本机整数。 在 C# 中,由语言关键字“nint”和“nuint”表示的类型。 (继承自 ITypeSymbol) |
IsOverride |
获取一个值,该值指示符号是否是基类符号的替代。 (继承自 ISymbol) |
IsReadOnly |
如果类型为只读,则为 True。 (继承自 ITypeSymbol) |
IsRecord |
对于源符号,如果类型为记录,则为 true。 对于元数据符号,如果类型是记录和引用类型,则为 true。 (继承自 ITypeSymbol) |
IsReferenceType |
如此 如果此类型已知为引用类型。 和 两者都返回 true 的情况IsReferenceTypeIsValueType从来不是这样。 但是,对于非约束类型参数, IsReferenceType 和 IsValueType 都将返回 false。 (继承自 ITypeSymbol) |
IsRefLikeType |
如此 如果类型类似于 ref,这意味着它遵循类似于 CLR by-ref 变量的规则。 如果类型不是 ref 类型,或者语言没有类似 ref 类型的概念,则为 False。 (继承自 ITypeSymbol) |
IsSealed |
获取一个值,该值指示符号是否密封。 (继承自 ISymbol) |
IsStatic |
获取一个值,该值指示符号是否为静态。 (继承自 ISymbol) |
IsSZArray |
这是一个从零开始的一维数组,即 CLR 术语中的 SZArray。 SZArray 是在元数据中编码的数组类型,ELEMENT_TYPE_SZARRAY (始终是具有 0 下限) 的单暗数组。 非 SZArray 类型在元数据中编码,具有ELEMENT_TYPE_ARRAY和可选大小和下限。 尽管非 SZArray 也可以是下限为 0 的单 dim 数组,但元数据中这些类型的编码是不同的。 |
IsTupleType |
这是元组 的符号。 (继承自 ITypeSymbol) |
IsType |
如果此符号是类型,则返回 true。 如果不是类型,则它必须是命名空间。 (继承自 INamespaceOrTypeSymbol) |
IsUnmanagedType |
如此 如果类型是非托管语言规则。 如果托管或语言没有非托管类型的概念,则为 False。 (继承自 ITypeSymbol) |
IsValueType |
如此 如果此类型已知为值类型。 和 两者都返回 true 的情况IsReferenceTypeIsValueType从来不是这样。 但是,对于非约束类型参数, IsReferenceType 和 IsValueType 都将返回 false。 (继承自 ITypeSymbol) |
IsVirtual |
获取一个值,该值指示符号是否为虚拟。 (继承自 ISymbol) |
Kind |
获取指示 SymbolKind 它是哪种符号的 。 (继承自 ISymbol) |
Language |
获取源语言 (“C#”或“Visual Basic”) 。 (继承自 ISymbol) |
Locations |
获取最初在源或元数据中定义符号的位置。 某些符号 (例如,分部类) 可以在多个位置定义。 (继承自 ISymbol) |
LowerBounds |
按位置指定维度的下限。 长度可以小于 Rank,这意味着某些尾随维度未指定下限。 最常见的情况是所有维度都是零边界 - 默认 (在这种情况下,VB) 数组中不返回任何内容。 |
MetadataName |
获取在元数据中显示的符号的名称。 大多数情况下,这与 Name 属性相同,但有以下例外情况:
|
MetadataToken |
获取与此符号关联的元数据标记;如果未从元数据加载符号,则为 0。 (继承自 ISymbol) |
Name |
获取符号名称。 如果未命名,则返回空字符串。 (继承自 ISymbol) |
NullableAnnotation |
与类型关联的可为 Null 注释; None 如果没有,则为 Null。 (继承自 ITypeSymbol) |
OriginalDefinition |
此符号的原始定义。 如果此符号是通过类型替换从另一个符号构造的,则 OriginalDefinition 获取原始符号(如在源或元数据中定义的那样)。 (继承自 ITypeSymbol) |
Rank |
获取此数组的维度数。 常规单维数组具有排名 1,二维数组具有排名 2,等等。 |
Sizes |
按位置指定维度的大小。 长度可以小于 Rank,这意味着某些尾随维度没有指定大小。 最常见的情况是没有指定大小的维度 - 返回空数组。 |
SpecialType |
一个枚举值,用于标识某些“特殊”类型,例如 Object。 None如果类型不特殊,则返回 。 (继承自 ITypeSymbol) |
TypeKind |
一个枚举值,该值标识此类型是否为数组、指针、枚举等。 (继承自 ITypeSymbol) |
方法
扩展方法
IsMustOverride(ISymbol) |
表示数组。 |
IsNotOverridable(ISymbol) |
表示数组。 |
IsOverridable(ISymbol) |
表示数组。 |
IsOverrides(ISymbol) |
表示数组。 |
IsShared(ISymbol) |
确定符号是否为“共享”。 |