我已經將2個dll導入到我的應用程序(第三方) 現在他們都有一個名稱空間相同的名稱。 例如A.B ,並且在他們兩個中都有一個同名的類。 現在我想創建其中一個實例,但由於命名空間和類名相同,編譯器不明確。 如何指定在該地點使用的女巫dll?命名空間名稱在2個DLL中的模糊類
16
A
回答
30
讓我們假設你有2個組件(ClassLibrary1.dll
和ClassLibrary2.dll
),其無論是在相同的命名空間定義相同的類:
namespace Foo
{
public class Bar
{
}
}
現在在消費項目中,你可以在的引用定義其他別名類庫:
,現在你可以做到以下幾點,以幫助編譯器消除歧義:
extern alias lib1;
extern alias lib2;
class Program
{
static void Main()
{
var barFromLib1 = new lib1::Foo.Bar();
var barFromLib2 = new lib2::Foo.Bar();
}
}
+0
這是類似於我有一個問題,但對我來說,這是我自己的代碼(小助手類)我需要在2個不同的DLL中使用,這些DLL又被EXE使用。 Darin的解決方案效果很好!謝謝。 –
-1
只是一點改進或增強信息:如果你有多個使用,「extern alias lib1;」 - 行必須是那些使用中的第一個(但MS VS也會通知你)。
+0
你的答案不提供問題的答案,請仔細閱讀問題 –
相關問題
- 1. 在命名空間中處理名稱空間模型(類)
- 2. 命名空間中不存在命名空間名稱'Notify'Twilio.Rest
- 3. 命名空間'System'中不存在類型或名稱空間名稱'Linq'
- 4. 名稱空間'System.Runtime'中不存在類型或命名空間名稱'Caching'
- 5. 命名空間'System.Data'中不存在類型或名稱空間名稱'Objects'
- 6. 命名空間'Microsoft.WindowsAzure'中不存在類型或名稱空間名稱'Diagnostics'
- 7. 命名空間'Windows.UI'中不存在類型或名稱空間名稱'Xaml'
- 8. 命名空間'System.Web.UI.WebControls'中不存在類型或名稱空間名稱'Chart'
- 9. 命名空間中不存在類型或名稱空間名稱「DirectoryServices」?
- 10. 命名空間'microsoft'中不存在類型或名稱空間名稱'directx'
- 11. 命名空間'System.Net'中不存在類型或名稱空間名稱'Http'
- 12. 命名空間'Windows.UI.Xaml'中不存在類型或名稱空間名稱'EventHandler'
- 13. 命名空間'System.Web'中不存在類型或名稱空間名稱'Script'
- 14. 類型或命名空間名稱「關係」不命名空間中存在「Microsoft.EntityFrameworkCore」
- 15. 類型或命名空間名稱「ToolkitScriptManager」不命名空間中存在「AjaxControlToolkit」
- 16. CS0234:命名空間'System.Runtime.Serialization'中不存在類型或命名空間名稱'IExtensibleDataObject'
- 17. 命名空間'System.Windows'中不存在類型或命名空間名稱'Deployment'
- 18. 命名空間'System.IO'中不存在類型或命名空間名稱'File'
- 19. C#命名空間'System.Windows'中不存在類型或命名空間名稱'Forms'
- 20. 命名空間'GalaSoft.MvvmLight'中不存在類型或命名空間名稱'Ioc'
- 21. 命名空間'Microsoft.VisualBasic'中不存在類型或命名空間名稱'FileIO'
- 22. 命名空間'Microsoft'中不存在類型或命名空間名稱'ServiceBus'
- 23. 命名空間中不存在類型或命名空間名稱'MIDI'
- 24. 命名空間'System.Web'中不存在類型或命名空間名稱'Mvc'
- 25. 命名空間和類名稱準則
- 26. 這是名稱命名空間和類
- 27. 類型或命名空間名稱ThreadContext'不存在命名空間「log4net的」
- 28. 類型或命名空間名稱「NMO」不存在命名空間存在「Microsoft.SqlServer.Management」
- 29. 類型或命名空間名稱HtmlEditorExtender'不存在命名空間存在「AjaxControlToolkit」
- 30. 類型或命名空間名稱LayoutsPageBase'不存在命名空間存在「Microsoft.SharePoint.WebControls」
若跌破答案不工作,那麼你就完蛋了:) – swapneel
幸運的是,他們中的一個工作:-) –