相关疑难解决方法(0)

电话和Callvirt

CIL指令"Call"和"Callvirt"之间有什么区别?

.net reflection cil reflection.emit

57
推荐指数
5
解决办法
1万
查看次数

C#中的继承和引用包含基类的DLL

我有一个场景,编译器抱怨我错过了所需的参考.

我有3个组件:

  • A.DLL

    • 公共类BaseClass
  • B.DLL(参考文献A.DLL)

    • 公共类DerivedClass:BaseClass
  • 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没有.

.net c# reference

3
推荐指数
1
解决办法
1371
查看次数

标签 统计

.net ×2

c# ×1

cil ×1

reference ×1

reflection ×1

reflection.emit ×1