關於c#:如何在不同的命名空間中處理相同的類名?


How to handle same class name in different namespaces?

我正在嘗試創建一個通用的庫結構。 我通過為我想要的每個公共庫創建單獨的項目來做到這一點

我有以下2個命名空間:MyCompany.ERP和MyCompany.Barcode

我需要他們兩個都有一個名為" Utilities"的類並且是靜態的。 如果這樣做,我將需要在我的靜態類之前指定完整的名稱空間名稱,以便對其進行訪問。

還有其他首選的方式嗎?

或者我應該在BarcodeUtils和ERPUtils等類中使用不同的名稱?


If i do that i will then need to specify the full namespace name before my static class in order to access it?

不,雖然細節取決於將使用這些類型的類及其具有的using聲明,但不需要這樣做。

如果僅使用類中的名稱空間之一,則不會有歧義,您可以繼續使用該類型。

如果同時使用兩個名稱空間,則要么必須完全限定使用范圍,要么使用名稱空間/類型別名來消除類型的歧義。

1
2
3
4
5
6
7
8
using ERPUtils = MyCompany.ERP.Utilities;
using BCUtils = MyCompany.Barcode.Utilities;

public void MyMethod()
{
  var a = ERPUtils.Method();
  var b = BCUtils.Method();
}

沒有其他辦法了。您可以在using指令中創建別名:

1
2
3
4
5
6
7
8
using MC=MyCompany.ERP;
using MB=MyCompany.Barcode;
...
public void Test()
{
  var a = MC.Utilities.Method();
  var b = MB.Utilities.Method();
}

這是管理它們的最簡單方法。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM