关于取反射对象的接口,返回null的问题

博客讲述了在使用反射加载DLL时遇到的问题,即通过Assembly.LoadFrom()方法使用相对路径加载导致获取接口为null,而使用实时窗口和监视方式则正常。原因是相对路径加载的实际位置与预期不符。作者推测其他类似方法可能也有相同原理。解决方案是确保使用正确的绝对路径来加载DLL。
摘要由CSDN通过智能技术生成

有一天我发现,反射的对象,取其接口的时候,返回的是null。而我在使用实时窗口以及添加监视的方式去获取时,却发现是获取到正确的接口。百思不得其解。。。。

最后发现是:反射使用Assembly.LoadFrom()加载dll。

如果参数传相对路径,那么取的是当前 解决方案中的启动项目的生成路径下的dll。当时使用相对路径,实际就加载的是CodeBase = "file:///D:/XXX/WidgetDll/JHOutPatEntity.dll"

而最新dll生成的路径是“D:/XXXJHOutPatEntity.dll”

我 猜测,其他的方法中能传相对路径也可以传绝对路径的地方,都是这个原理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值