我已经将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
幸运的是,他们中的一个工作:-) –