异想天开的想法,程序集重定向

有一个异想天开的想法,不置可否实现。

A.dll:已经存在,包含了一些类,不希望被直接引用

B.dll:还不存在,可以被直接引用,但没有任何实质性内容,但希望能作为A.dll的一个Proxy

C.exe:引用B.dll,并使用其中的类,但实际上B.dll并不包含这些类,B.dll会把A.dll中的相关类返回

不知道c#能不能实现这样的想法,使得C.exe在引用了B.dll之后,就相当于引用了A.dll,可以自由地使用A.dll公开的所有资源。


繁花如伊
浏览 421回答 2
2回答

小怪兽爱吃肉

B中定义A的接口,对A的实现静态注入即可实现。有一点和你的不同,A必须引用B。如果A,B互不知道,那就只能反射加载了。

偶然的你

AB互不知道,C怎么知道该调用什么类什么方法呢?B必须充当一个接口的角色(当然,接口定义到C里也可以,但不合逻辑),而A肯定得遵循这个接口,没有章法随便介入是不太可能的,这个要求应该就类似于插件的机制吧。
打开App,查看更多内容
随时随地看视频慕课网APP