我有一个场景,编译器抱怨我错过了所需的参考.
我有3个组件:
A.DLL
B.DLL(参考文献A.DLL)
C.DLL
var derived = new DerivedClass();
在C.DLL中,我只引用B.DLL(我只需要访问DerivedClass).
编译器给出了一个错误,说我还需要引用A.DLL
这完全破坏了封装,我不确定为什么需要这样做(因为B.DLL引用了A.DLL).
编辑:关于"打破封装"的错误选择.我的意图是这导致了对这个项目(C.DLL)的额外编译时约束,因为我只是从B.DLL实例化类型,而不是从A.DLL实例化.
我希望删除这个编译时要求,主要是因为B和C坐在同一个解决方案中,但A没有.