3

我有一组方法可以通过 SQL 连接执行一些实用程序工作,直到现在这些方法已经从一个项目复制到另一个项目。但随着时间的推移,项目数量越来越多,我需要让这些方法保持同步,以防我发现错误或需要更新它。

我已经设法使它达到 SQL 访问类是部分类的状态,一部分是特定于项目的,并且包含特定数据库的包装器。第二部分是通用部分,包含在所有项目特定数据库中使用的方法。

问题是现在我将“实用程序”类复制到 8 个项目中,具有相同的内容,但在不同的命名空间中。在 C/C++ 中它会很简单,因为我只需在需要的地方 #included 文件的内容。我应该在 C# 中做什么?

4

2 回答 2

4

分离出类,这样您就可以在一个公共项目中拥有一个包含所有公共代码的完整类。使用通用接口来表示特定于项目的功能位,在每个项目中实现该接口,并在必要时将接口实例传递给通用代​​码。

于 2010-04-23T06:51:49.830 回答
1

正如 Jon 所说,库程序集是个好主意。

在某些情况下,程序集引用不能满足要求,因此,如果不能选择创建库程序集,则可以使用 Visual Studio 中容易忽略的功能,将现有文件添加为链接

这将允许您在所有项目中都可用的文件中维护部分类的公共部分。

唯一的限制是使用相对路径来引用文件。

我在这个策略中遇到的唯一问题是开源 Mercurial scc 提供程序。从项目中删除链接文件时,会删除基础文件。很烦人,但这对你来说可能不是问题。

更新:VS Mercurial SCC中的链接文件错误应该在下一个版本中修复。

于 2010-04-23T07:17:43.560 回答