簡體   English   中英

C# 命名空間:在兩個具有相同名稱的相同命名空間中調用方法

[英]C# namespaces: Calling a method in two identical namespaces with same name

我正在嘗試了解 C# 名稱空間。 假設存在兩個同名的名稱空間並且它們具有相同的內容,即所有類和方法也具有相同的名稱。 如果我嘗試調用命名空間 MyNamespace 中的方法,例如 class MyClass 中的 MyMethod,編譯器如何區分兩者? 這不太可能是真實場景,但我發現這些信息對於理解目的很有用。

第二個問題:當我在命名空間(例如System)上打點時,我得到了一組相關的命名空間,如System.Configuration 等,但是當我go 到Microsoft 的文檔時,我找不到任何名為Configuration 的命名空間包含在System 命名空間中。 這是為什么? 如果我查找 System.Configuration,我當然可以找到命名空間,但我不明白為什么 System.Configuration 命名空間沒有嵌套在 System 命名空間內。

如果您有兩個類型,它們具有相同的名稱和相同數量的類型參數,並且存在於相同的命名空間中,那么它們所在的程序集必須不同。

如果您的項目引用了一種類型所在的程序集,但沒有引用另一種類型,那么您顯然只能引用來自您引用的程序集的類型。 如果您的項目引用了這兩個程序集,則會出現編譯器錯誤,如下所示 要修復它,您可以使用外部別名

無法在此頁面中找到System.Configuration僅僅是由於 Microsoft 組織其文檔的方式。 他們決定在這里列出所有名稱空間,而不是顯示層次結構。 請注意, System.Configuration是 .NET 平台擴展的一部分,而不是普通的舊 .NET,因此您必須在下拉列表中選擇它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM