ISymbol 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示编译器公开的命名空间、类、方法、参数 ) 等 (符号。
public interface class ISymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>
public interface ISymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>
type ISymbol = interface
interface IEquatable<ISymbol>
Public Interface ISymbol
Implements IEquatable(Of ISymbol)
- 派生
- 实现
注解
此接口保留供其关联的 API 实现。 我们保留将来更改它的权利。
属性
CanBeReferencedByName |
如果此符号可以在代码中按其名称引用,则返回 true。 |
ContainingAssembly |
获取 IAssemblySymbol 包含程序集。 如果符号在多个程序集之间共享,则返回 null。 |
ContainingModule |
获取 IModuleSymbol 包含模块的项。 如果符号在多个模块之间共享,则返回 null。 |
ContainingNamespace |
获取 INamespaceSymbol 最近的封闭命名空间。 如果符号不包含在命名空间中,则返回 null。 |
ContainingSymbol |
获取 ISymbol 包含符号的立即值。 |
ContainingType |
获取 INamedTypeSymbol 包含类型的值。 如果类型中不包含符号,则返回 null。 |
DeclaredAccessibility |
获取一个 Accessibility 指示符号的已声明辅助功能。 如果未声明辅助功能,则返回 NotApplicable。 |
DeclaringSyntaxReferences |
获取语法节点 () 源中声明此符号的位置。 例如,某些符号 (,可以在多个位置定义分部类) 。 仅当符号在源代码中声明并且未隐式声明 (看到 IsImplicitlyDeclared 属性) 时,此属性才应返回一个或多个语法节点。 请注意,对于命名空间符号,声明语法可能声明嵌套命名空间。 例如,“命名空间 N1”中 N1 的声明语法节点。N2 {...}” 是 N1 的整个 NamespaceDeclarationSyntax。N2. 对于全局命名空间,声明语法将是 CompilationUnitSyntax。 |
HasUnsupportedMetadata |
指示此符号使用语言不支持的元数据。 示例包括:
这与未引用的程序集中定义的元数据符号的引用区分开来。 返回 true 的符号永远不能成功使用,因此不应出现在任何 IDE 功能中。 这是为元数据符号设置的,如下所示:
|
IsAbstract |
获取一个值,该值指示符号是否为抽象符号。 |
IsDefinition |
获取一个值,该值指示符号是否为原始定义。 如果符号派生自另一个符号,则返回 false(按实例的类型替换)。 |
IsExtern |
获取一个值,该值指示是否在外部定义符号。 |
IsImplicitlyDeclared |
如果编译器自动创建此符号,并且没有显式对应的源代码声明,则返回 true。 |
IsOverride |
获取一个值,该值指示符号是否是基类符号的重写。 |
IsSealed |
获取一个值,该值指示符号是否密封。 |
IsStatic |
获取一个值,该值指示符号是否为静态符号。 |
IsVirtual |
获取一个值,该值指示符号是否为虚拟符号。 |
Kind |
获取 SymbolKind 指示它的符号类型。 |
Language |
获取源语言 (“C#”或“Visual Basic”) 。 |
Locations |
获取最初在源或元数据中定义符号的位置。 例如,某些符号 (,可以在多个位置定义分部类) 。 |
MetadataName |
获取元数据中显示的符号的名称。 大多数情况下,这与 Name 属性相同,但有以下例外:
|
MetadataToken |
获取与此符号关联的元数据令牌,如果未从元数据加载符号,则为 0。 |
Name |
获取符号名称。 如果未命名,则返回空字符串。 |
OriginalDefinition |
获取 ISymbol 符号的原始定义。 如果此符号派生自另一个符号(例如,按类型替换),则会获取原始符号,因为它在源或元数据中定义。 |
方法
Accept(SymbolVisitor) |
表示编译器公开的命名空间、类、方法、参数 ) 等 (符号。 |
Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument) |
表示编译器公开的命名空间、类、方法、参数 ) 等 (符号。 |
Accept<TResult>(SymbolVisitor<TResult>) |
表示编译器公开的命名空间、类、方法、参数 ) 等 (符号。 |
Equals(ISymbol, SymbolEqualityComparer) |
根据所提供的规则确定此符号是否等于另一个符号 SymbolEqualityComparer |
GetAttributes() |
获取符号的属性。 如果没有属性,则返回空 IEnumerable<T> 。 |
GetDocumentationCommentId() |
返回符号的文档注释 ID;如果符号不支持文档注释,则返回 null。 |
GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken) |
获取与符号关联的注释的文本) 的 XML (。 |
ToDisplayParts(SymbolDisplayFormat) |
将符号转换为字符串部件数组,其中每个部分都有一种。 用于着色显示字符串。 |
ToDisplayString(SymbolDisplayFormat) |
将符号转换为字符串表示形式。 |
ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat) |
将符号转换为字符串部件数组,其中每个部分都有一种。 可以根据源代码中的特定位置进行定制。 用于着色显示字符串。 |
ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat) |
将符号转换为可向用户显示的字符串。 可以根据源代码中的特定位置进行定制。 |
扩展方法
IsMustOverride(ISymbol) |
表示编译器公开的命名空间、类、方法、参数 ) 等 (符号。 |
IsNotOverridable(ISymbol) |
表示编译器公开的命名空间、类、方法、参数 ) 等 (符号。 |
IsOverridable(ISymbol) |
表示编译器公开的命名空间、类、方法、参数 ) 等 (符号。 |
IsOverrides(ISymbol) |
表示编译器公开的命名空间、类、方法、参数 ) 等 (符号。 |
IsShared(ISymbol) |
确定是否共享符号。 |