问题是这样的:
有一个类库里放的都是程序的窗体类,另一个类库里放的是该程序里的一个小模块(包含该模块的窗体和类)。
现在程序的引用了该模块的类库,但是我在小模块的类库中,需要用到主程序里的一些类的信息,但是这时候C#不允许我在小模块的类库里去引用主程序的类库。请问高手们,有没有什么办法可以解决呢?

解决方案 »

  1.   

    “单向依赖”是软件工程中非常伟大、非常重要的原则。我们应该遵守。而“依赖倒置”设计也经常在软件扩展中出现。怎么办?很多基本的模式。例如事件驱动,比如我们的DataGrid控件就会抛出“Cell单元格已经被修改”事件来通知自己的客户端来扩展自己的功能;例如接口和工厂模式,例如我们的“排序”算法就可以针对实现了 ICompared 接口的数据集合进行排序,而客户端就可以多态地调用我们的排序算法。问问你的老师,他应该教会你软件设计的基本概念。扩展、依赖倒置、面向对象软件设计,那些朴素的概念是最核心的设计知识,需要反复实际去练习而不可能靠csdn上一两个帖子就来理解。