如何使用不同dll的相同namespace下的相同接口

当程序加载两个DLL,它们在相同的命名空间下定义了同名的接口时,会导致冲突。解决方法包括使用C#的别名(alias)或者通过DllImport属性指定DLL。别名可以通过`extern alias`关键字来设定,而DllImport则可以将特定DLL的接口封装到新的命名空间下,以避免冲突。
摘要由CSDN通过智能技术生成

问题:

程序里加载了2个dll,这2个dll里都声明了同样的命名空间(这个不违法),然后在这个同样的命名空间下,他俩又定义了同名的interface。

然后我程序里直接using这个命名空间,使用这个interface的时候就有问题了,因为它已经被定义在2个地方了。

有没有啥语法可以显示指出我使用哪个dll里的命名空间里的该类型?

解决办法:

1. 用alias。

Main App:

extern alias Lib1;
extern alias Lib2;
using System;
 
namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值