IPointerTypeSymbol 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示指针类型,例如“int *”。 指针类型仅在不安全的代码中使用。
public interface class IPointerTypeSymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::ITypeSymbol
public interface IPointerTypeSymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.ITypeSymbol
type IPointerTypeSymbol = interface
interface ITypeSymbol
interface INamespaceOrTypeSymbol
interface ISymbol
interface IEquatable<ISymbol>
Public Interface IPointerTypeSymbol
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) |
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 |
如此 如果此类型已知为引用类型。 和 IsValueType 都返回 true 绝不是这种情况IsReferenceType。 但是,对于不受约束的类型参数, IsReferenceType 和 IsValueType 都将返回 false。 (继承自 ITypeSymbol) |
IsRefLikeType |
如此 如果类型类似于 ref,这意味着它遵循类似于 CLR by-ref 变量的规则。 如果类型不是类似于 ref 的类型,或者语言没有类似于 ref 的类型的概念,则为 False。 (继承自 ITypeSymbol) |
IsSealed |
获取一个值,该值指示符号是否密封。 (继承自 ISymbol) |
IsStatic |
获取一个值,该值指示符号是否为静态。 (继承自 ISymbol) |
IsTupleType |
这是元组 的符号。 (继承自 ITypeSymbol) |
IsType |
如果此符号是类型,则返回 true。 如果不是类型,则它必须是命名空间。 (继承自 INamespaceOrTypeSymbol) |
IsUnmanagedType |
如此 如果类型是非托管根据语言规则。 如果托管或语言没有非托管类型的概念,则为 False。 (继承自 ITypeSymbol) |
IsValueType |
如果已知此类型是值类型,则为 True。 和 IsValueType 都返回 true 绝不是这种情况IsReferenceType。 但是,对于不受约束的类型参数, IsReferenceType 和 IsValueType 都将返回 false。 (继承自 ITypeSymbol) |
IsVirtual |
获取一个值,该值指示符号是否为虚拟。 (继承自 ISymbol) |
Kind |
获取指示 SymbolKind 它是哪种符号的 。 (继承自 ISymbol) |
Language |
获取源语言 (“C#”或“Visual Basic”) 。 (继承自 ISymbol) |
Locations |
获取最初在源或元数据中定义符号的位置。 某些符号 (例如,分部类) 可以在多个位置定义。 (继承自 ISymbol) |
MetadataName |
获取在元数据中显示的符号的名称。 大多数情况下,这与 Name 属性相同,但有以下例外情况:
|
MetadataToken |
获取与此符号关联的元数据标记;如果未从元数据加载符号,则为 0。 (继承自 ISymbol) |
Name |
获取符号名称。 如果未命名,则返回空字符串。 (继承自 ISymbol) |
NullableAnnotation |
与类型关联的可为空批注;如果没有, None 则为 Null。 (继承自 ITypeSymbol) |
OriginalDefinition |
此符号的原始定义。 如果此符号是通过类型替换从另一个符号构造的,则 OriginalDefinition 获取在源或元数据中定义的原始符号。 (继承自 ITypeSymbol) |
PointedAtType |
获取指针类型的实例指向的存储位置的类型。 |
SpecialType |
一个枚举值,该值标识某些“特殊”类型,例如 Object。 None如果类型不特殊,则返回 。 (继承自 ITypeSymbol) |
TypeKind |
一个枚举值,该值标识此类型是否为数组、指针、枚举等。 (继承自 ITypeSymbol) |
方法
扩展方法
IsMustOverride(ISymbol) |
表示指针类型,例如“int *”。 指针类型仅在不安全的代码中使用。 |
IsNotOverridable(ISymbol) |
表示指针类型,例如“int *”。 指针类型仅在不安全的代码中使用。 |
IsOverridable(ISymbol) |
表示指针类型,例如“int *”。 指针类型仅在不安全的代码中使用。 |
IsOverrides(ISymbol) |
表示指针类型,例如“int *”。 指针类型仅在不安全的代码中使用。 |
IsShared(ISymbol) |
确定符号是否为“共享”。 |