INamespaceSymbol 接口

定义

表示命名空间。

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

注解

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

属性

CanBeReferencedByName

如果可以通过代码中的名称引用此符号,则返回 true。

(继承自 ISymbol)
ConstituentNamespaces

如果命名空间是程序集或编译命名空间,则它可能由合并在一起的多个命名空间组成。 如果是,则 ConstituentNamespaces 返回合并的所有命名空间。 如果未合并此命名空间,则返回仅包含此命名空间的数组。

ContainingAssembly

获取 IAssemblySymbol 包含的程序集。 如果符号在多个程序集之间共享,则返回 null。

(继承自 ISymbol)
ContainingCompilation

编译命名空间的包含编译。

ContainingModule

获取 IModuleSymbol 包含的模块。 如果符号在多个模块之间共享,则返回 null。

(继承自 ISymbol)
ContainingNamespace

获取 INamespaceSymbol 最近的封闭命名空间。 如果符号不包含在命名空间中,则返回 null。

(继承自 ISymbol)
ContainingSymbol

获取 ISymbol 立即包含符号的项。

(继承自 ISymbol)
ContainingType

获取 INamedTypeSymbol 包含类型的值。 如果类型中不包含符号,则返回 null。

(继承自 ISymbol)
DeclaredAccessibility

获取一个 Accessibility 指示符号的已声明辅助功能。 如果未声明辅助功能,则返回 NotApplicable。

(继承自 ISymbol)
DeclaringSyntaxReferences

获取在源中声明此符号的语法节点 (s) 。 例如,某些符号 (部分类) 可以在多个位置定义。 仅当符号在源代码中声明并且未隐式声明 (看到 IsImplicitlyDeclared 属性) 时,此属性才应返回一个或多个语法节点。

请注意,对于命名空间符号,声明语法可能声明嵌套命名空间。 例如,“命名空间 N1”中 N1 的声明语法节点。N2 {...}” 是 N1 的整个 NamespaceDeclarationSyntax。N2. 对于全局命名空间,声明语法将是 CompilationUnitSyntax。

(继承自 ISymbol)
HasUnsupportedMetadata

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

示例包括:

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

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

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

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

(继承自 ISymbol)
IsAbstract

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

(继承自 ISymbol)
IsDefinition

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

(继承自 ISymbol)
IsExtern

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

(继承自 ISymbol)
IsGlobalNamespace

返回此命名空间是否为位于所有命名空间根目录的未命名全局命名空间。

IsImplicitlyDeclared

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

(继承自 ISymbol)
IsNamespace

如果此符号是命名空间,则返回 true。 如果不是命名空间,则它必须是一个类型。

(继承自 INamespaceOrTypeSymbol)
IsOverride

获取一个值,该值指示符号是否为基类符号的替代。

(继承自 ISymbol)
IsSealed

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

(继承自 ISymbol)
IsStatic

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

(继承自 ISymbol)
IsType

如果此符号是类型,则返回 true。 如果不是类型,则它必须是命名空间。

(继承自 INamespaceOrTypeSymbol)
IsVirtual

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

(继承自 ISymbol)
Kind

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

(继承自 ISymbol)
Language

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

(继承自 ISymbol)
Locations

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

(继承自 ISymbol)
MetadataName

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

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

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

(继承自 ISymbol)
Name

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

(继承自 ISymbol)
NamespaceKind

命名空间类型:模块、程序集或编译。 模块命名空间仅包含共享同一命名空间名称的包含模块的成员。 程序集命名空间包含包含包含程序集中共享同一命名空间名称的所有模块的成员。 编译命名空间包含源元数据或引用元数据 (程序集和模块) 共享同一命名空间名称的所有成员。

OriginalDefinition

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

(继承自 ISymbol)

方法

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)
GetMembers()

获取此符号的所有成员。

GetMembers(String)

获取具有特定名称的此符号的所有成员。

GetNamespaceMembers()

获取此符号的所有成员,这些成员是命名空间。

GetTypeMembers()

获取属于类型的此符号的所有成员。

(继承自 INamespaceOrTypeSymbol)
GetTypeMembers(String)

获取此符号的所有成员,这些成员是具有特定名称的类型(任何 arity)。

(继承自 INamespaceOrTypeSymbol)
GetTypeMembers(String, Int32)

获取此符号的所有成员,这些成员是具有特定名称和 arity 的类型

(继承自 INamespaceOrTypeSymbol)
ToDisplayParts(SymbolDisplayFormat)

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

(继承自 ISymbol)
ToDisplayString(SymbolDisplayFormat)

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

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

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

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

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

(继承自 ISymbol)

扩展方法

GetModuleMembers(INamespaceSymbol)

获取命名空间中的所有模块成员。

GetModuleMembers(INamespaceSymbol, String)

获取指定命名空间中的所有模块成员。

IsMustOverride(ISymbol)

表示命名空间。

IsNotOverridable(ISymbol)

表示命名空间。

IsOverridable(ISymbol)

表示命名空间。

IsOverrides(ISymbol)

表示命名空间。

IsShared(ISymbol)

确定符号是否共享。

适用于