Share via


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

取得語法節點 () 此符號在來源中宣告的位置。 例如,某些符號 (,部分類別) 可能會定義在多個位置。 只有當符號在原始程式碼中宣告,而且未隱含宣告時,此屬性才應該傳回一或多個語法節點, (請參閱 IsImplicitlyDeclared 屬性) 。

請注意,針對命名空間符號,宣告語法可能會宣告巢狀命名空間。 例如,「namespace 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()

傳回符號的檔批註識別碼,如果符號不支援檔批註,則傳回 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)

判斷符號是否為共用。

適用於