ISourceAssemblySymbol 接口

定义

表示编译器公开的源程序集符号。

public interface class ISourceAssemblySymbol : IEquatable<Microsoft::CodeAnalysis::ISymbol ^>, Microsoft::CodeAnalysis::IAssemblySymbol
public interface ISourceAssemblySymbol : IEquatable<Microsoft.CodeAnalysis.ISymbol>, Microsoft.CodeAnalysis.IAssemblySymbol
type ISourceAssemblySymbol = interface
    interface IAssemblySymbol
    interface ISymbol
    interface IEquatable<ISymbol>
Public Interface ISourceAssemblySymbol
Implements IAssemblySymbol, IEquatable(Of ISymbol)
实现

注解

此接口保留供其关联的 API 实现。 我们保留将来更改它的权利。

属性

CanBeReferencedByName

如果此符号可以在代码中按其名称引用,则返回 true。

(继承自 ISymbol)
Compilation

表示编译器公开的源程序集符号。

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 {...}” 是 N1 的整个 NamespaceDeclarationSyntax。N2. 对于全局命名空间,声明语法将是 CompilationUnitSyntax。

(继承自 ISymbol)
GlobalNamespace

获取合并的根命名空间,该命名空间包含此程序集的模块中定义的所有命名空间和类型。 如果此程序集中只有一个模块,则此属性仅返回该模块的 GlobalNamespace。

(继承自 IAssemblySymbol)
HasUnsupportedMetadata

指示此符号使用语言不支持的元数据。

示例包括:

  • VB 中的指针类型
  • ByRef 返回类型
  • 所需的自定义修饰符

这与未引用的程序集中定义的元数据符号的引用区分开来。 返回 true 的符号永远不能成功使用,因此不应出现在任何 IDE 功能中。

这是为元数据符号设置的,如下所示:

  • 类型 - 例如,如果类型不受支持 (,则指针类型)
  • 方法 - 不支持参数或返回类型
  • 字段 - 类型不受支持
  • 事件 - 类型不受支持
  • 属性 - 类型不受支持
  • 参数 - 类型不受支持

(继承自 ISymbol)
Identity

获取此程序集的名称。

(继承自 IAssemblySymbol)
IsAbstract

获取一个值,该值指示符号是否为抽象符号。

(继承自 ISymbol)
IsDefinition

获取一个值,该值指示符号是否为原始定义。 如果符号派生自另一个符号,则返回 false(按实例的类型替换)。

(继承自 ISymbol)
IsExtern

获取一个值,该值指示是否在外部定义符号。

(继承自 ISymbol)
IsImplicitlyDeclared

如果编译器自动创建此符号,并且没有显式对应的源代码声明,则返回 true。

(继承自 ISymbol)
IsInteractive

如此 如果程序集包含交互式代码。

(继承自 IAssemblySymbol)
IsOverride

获取一个值,该值指示符号是否是基类符号的重写。

(继承自 ISymbol)
IsSealed

获取一个值,该值指示符号是否密封。

(继承自 ISymbol)
IsStatic

获取一个值,该值指示符号是否为静态符号。

(继承自 ISymbol)
IsVirtual

获取一个值,该值指示符号是否为虚拟符号。

(继承自 ISymbol)
Kind

获取 SymbolKind 指示它的符号类型。

(继承自 ISymbol)
Language

获取源语言 (“C#”或“Visual Basic”) 。

(继承自 ISymbol)
Locations

获取最初在源或元数据中定义符号的位置。 例如,某些符号 (,可以在多个位置定义分部类) 。

(继承自 ISymbol)
MetadataName

获取元数据中显示的符号的名称。 大多数情况下,这与 Name 属性相同,但有以下例外:

  1. 泛型类型的元数据名称包括“'1”、“'2”等后缀,该后缀指示 (它不包括的类型或命名空间的名称) 。
  2. 与 name 属性相比,显式接口名称的元数据名称已删除空格。
  3. 名称长度限制为不超过元数据限制。
(继承自 ISymbol)
MetadataToken

获取与此符号关联的元数据令牌,如果未从元数据加载符号,则为 0。

(继承自 ISymbol)
MightContainExtensionMethods

确定程序集是否可能包含扩展方法。 如果为 false,则程序集不包含扩展方法。

(继承自 IAssemblySymbol)
Modules

获取此程序集中的模块。 (必须至少有一个.) 第一个模块是保存程序集清单的主模块。

(继承自 IAssemblySymbol)
Name

获取符号名称。 如果未命名,则返回空字符串。

(继承自 ISymbol)
NamespaceNames

从此程序集中获取命名空间名称集。

(继承自 IAssemblySymbol)
OriginalDefinition

获取 ISymbol 符号的原始定义。 如果此符号派生自另一个符号(例如,按类型替换),则会获取原始符号,因为它在源或元数据中定义。

(继承自 ISymbol)
TypeNames

从此程序集中获取类型标识符集。

(继承自 IAssemblySymbol)

方法

Accept(SymbolVisitor)

表示编译器公开的源程序集符号。

(继承自 ISymbol)
Accept<TArgument,TResult>(SymbolVisitor<TArgument,TResult>, TArgument)

表示编译器公开的源程序集符号。

(继承自 ISymbol)
Accept<TResult>(SymbolVisitor<TResult>)

表示编译器公开的源程序集符号。

(继承自 ISymbol)
Equals(ISymbol, SymbolEqualityComparer)

根据所提供的规则确定此符号是否等于另一个符号 SymbolEqualityComparer

(继承自 ISymbol)
GetAttributes()

获取符号的属性。 如果没有属性,则返回空 IEnumerable<T>

(继承自 ISymbol)
GetDocumentationCommentId()

返回符号的文档注释 ID;如果符号不支持文档注释,则返回 null。

(继承自 ISymbol)
GetDocumentationCommentXml(CultureInfo, Boolean, CancellationToken)

获取与符号关联的注释的文本) 的 XML (。

(继承自 ISymbol)
GetForwardedTypes()

返回此程序集转发的顶级 (非嵌套) 类型的类型符号。

(继承自 IAssemblySymbol)
GetMetadata()

如果此符号表示元数据程序集返回基础 AssemblyMetadata

否则,返回 null

(继承自 IAssemblySymbol)
GetTypeByMetadataName(String)

使用类型的规范 CLR 元数据名称在程序集中查找类型。

(继承自 IAssemblySymbol)
GivesAccessTo(IAssemblySymbol)

获取一个值,该值指示此程序集是否授予 toAssembly 对内部符号的访问权限

(继承自 IAssemblySymbol)
ResolveForwardedType(String)

返回基于其规范 CLR 元数据名称的转发类型的类型符号。 名称应引用非嵌套类型。 如果未转发具有此名称的类型,则返回 null。

(继承自 IAssemblySymbol)
ToDisplayParts(SymbolDisplayFormat)

将符号转换为字符串部件数组,其中每个部分都有一种。 用于着色显示字符串。

(继承自 ISymbol)
ToDisplayString(SymbolDisplayFormat)

将符号转换为字符串表示形式。

(继承自 ISymbol)
ToMinimalDisplayParts(SemanticModel, Int32, SymbolDisplayFormat)

将符号转换为字符串部件数组,其中每个部分都有一种。 可以根据源代码中的特定位置进行定制。 用于着色显示字符串。

(继承自 ISymbol)
ToMinimalDisplayString(SemanticModel, Int32, SymbolDisplayFormat)

将符号转换为可向用户显示的字符串。 可以根据源代码中的特定位置进行定制。

(继承自 ISymbol)

扩展方法

IsMustOverride(ISymbol)

表示编译器公开的源程序集符号。

IsNotOverridable(ISymbol)

表示编译器公开的源程序集符号。

IsOverridable(ISymbol)

表示编译器公开的源程序集符号。

IsOverrides(ISymbol)

表示编译器公开的源程序集符号。

IsShared(ISymbol)

确定是否共享符号。

适用于