我已经包含了dll文件到我的窗户形式的项目。 1.是否有可能完全覆盖一个特定的类? 2.是否有可能一个新的方法添加到一个特定的类中的DLL文件? 3.是否有可能覆盖在DLL中的一个类的方法?
替代我宁愿避免:我知道我可以使用扩展方法来创建静态的新方法。 我也可以从一个特定的类继承,然后添加新的方法来派生类。
我想要实现:我现在必须创建一个项目,并将其添加到一个更大的项目作为一个DLL文件。 但我们被告知,我们需要更多的功能,下月添加到原来的项目。 我试图找出去了解这一点的最好办法。 较小的项目是基于MVC设计。
你当然可以重写你是从一个类在类库继承虚方法。 你该做的任何时候你重写object.ToString()
例如!
你不能“覆盖一类完全”虽然 - 我不知道是什么,即使是意味着什么。 同样,你也不能,虽然可以将方法添加到现有的类:
- 使用扩展方法,以“假装”添加另一种方法(但没有状态,没有属性)
- 从类派生的(假设它不是密封的),并声明自己的额外的方法
如果你能告诉我们你想达到什么样的,它会更容易建议您如何继续。
编辑:当你需要更多的功能添加到原来的项目,只需将其添加到原始项目。 是否有任何理由,你将无法再更改该项目?
我想要实现:我现在必须创建一个项目,并将其添加到一个更大的项目作为一个DLL文件。 但我们被告知,我们需要更多的功能,下月添加到原来的项目。 我试图找出去了解这一点的最好办法。 较小的项目是基于MVC设计。
目前最好的做法是使用控制反转(如ninject )对这类事情,如果你有一个集中的地方为你的依赖,你可以将它们连接起来,只要你喜欢在运行时,拦截星星点点如你所愿。