-2

我想将打开的连接文件分开并在不同的地方重复使用,比如在 .cs 文件中。我不想重写以下代码:

using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ToString()));

是否可以在 c# 中,例如 php 包含文件 include("opendb.php")。

4

1 回答 1

11

你不包含任何东西——你只是把代码放到另一个类中。例如:

public static class ConnectionHelper
{
    public static SqlConnection GetConnection()
    {
        return new SqlConnection(ConfigurationManager.ConnectionStrings["connection"]
                                                     .ToString())
    }
}

然后从您的其他代码:

using (var conn = ConnectionHelper.GetConnection())
{
    ...
}

为了提高可测试性,要考虑的替代方法是使用依赖注入。GetConnection创建一个实例方法,并可能实现一个接口......然后将ConnectionHelper其作为依赖项(例如在您的构造函数中)。理想情况下,无论如何,很少有东西需要直接连接——最好公开更多以业务为中心的操作。

于 2013-07-30T09:03:51.857 回答