INamespaceSymbol 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示命名空间。
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 |
指示此符号使用语言不支持的元数据。 示例包括:
这与未引用的程序集中定义的元数据符号的引用区分开来。 返回 true 的符号永远不能成功使用,因此不应出现在任何 IDE 功能中。 这是为元数据符号设置的,如下所示:
|
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 属性相同,但有以下例外:
|
MetadataToken |
获取与此符号关联的元数据令牌,如果未从元数据加载符号,则为 0。 (继承自 ISymbol) |
Name |
获取符号名称。 如果未命名,则返回空字符串。 (继承自 ISymbol) |
NamespaceKind |
命名空间类型:模块、程序集或编译。 模块命名空间仅包含共享同一命名空间名称的包含模块的成员。 程序集命名空间包含包含包含程序集中共享同一命名空间名称的所有模块的成员。 编译命名空间包含源元数据或引用元数据 (程序集和模块) 共享同一命名空间名称的所有成员。 |
OriginalDefinition |
获取 ISymbol 符号的原始定义。 如果此符号派生自另一个符号,则按类型替换来获取原始符号,因为它在源或元数据中定义。 (继承自 ISymbol) |
方法
扩展方法
GetModuleMembers(INamespaceSymbol) |
获取命名空间中的所有模块成员。 |
GetModuleMembers(INamespaceSymbol, String) |
获取指定命名空间中的所有模块成员。 |
IsMustOverride(ISymbol) |
表示命名空间。 |
IsNotOverridable(ISymbol) |
表示命名空间。 |
IsOverridable(ISymbol) |
表示命名空间。 |
IsOverrides(ISymbol) |
表示命名空间。 |
IsShared(ISymbol) |
确定符号是否共享。 |