【发布时间】:2011-03-01 15:21:01
【问题描述】:
我有一个用 C# 编写的 .net 网站,并将提供其他开发人员可以使用的功能。 所以我会做一些默认的实现,开发者可以覆盖一些方法
示例:
我有一个类ShoppingCart 和一个类Product 类产品有一个方法getProductPrice
购物车会调用方法getProductPrice计算购物车的总价
ShoppingCart 和 Product 在同一个项目中,我会将 .dll 提供给开发人员,以便他们无法更改源代码,以便我们稍后更新程序集
所以他们需要创建另一个项目并扩展产品类并覆盖方法getProductPrice,以便他们可以实现自己的逻辑
问题是购物车不会调用扩展方法而是调用原来的方法
如果我们已经为开发人员创建了一个扩展项目,并且购物车将调用扩展方法,那么我们就有一个循环引用 因为扩展产品需要引用产品和购物车到扩展产品
部分类也不起作用,因为我们只能在同一个程序集中使用部分类
有人有什么建议吗?
提前致谢。
【问题讨论】:
-
术语是“覆盖”,而不是“覆盖”
-
任何答案有帮助吗?您需要进一步的帮助吗?
标签: c# .net partial-classes overwrite