扩展公共库的属性

时间:2012-09-10 11:47:18

标签: c# asp.net design-patterns extension-methods

我们正在为不同的客户开发产品(ASP.NET解决方案),该解决方案包括3个VS项目,业务实体,业务服务和Web。 每个客户可能都需要一些自定义,因此我们需要对这三个项目进行一些更改。

业务实体项目包含仅包含属性的类,而Business Services包含仅包含方法的类,这些方法使用业务实体类。

我的问题是我不想为每个客户复制这两个项目(实体,服务),因为它们的代码几乎相同。

我考虑过将实体和服务作为公共库,并在每个新解决方案中引用它们,如果客户需要一些自定义,我可以扩展这两个库。

扩展方法帮助我扩展了“业务实体”类,但对于“业务实体”类,我找不到扩展其属性的好解决方案,.NET中没有扩展属性。

我考虑过制作部分课程,但我不知道这是不是一个好习惯。

有没有人有更好的解决方案?

1 个答案:

答案 0 :(得分:1)

如果您将属性设为“虚拟”,则可以根据客户端需要覆盖它们。这样你就不必走下制作部分课程的道路了。

这是关于使事情成为“虚拟”的信息的link