如何分隔两个静态类

Zia*_*gar 0 c# oop design-patterns c#-4.0

我的数据访问层从DBConfig静态类获取具有静态字段(ServerName,DBName,UserName,Password)的连接数据.

现在我需要与不同的DBConfig建立两个连接,我试图制作另一个dll项目,然后添加我的dal来建立另一个组件的另一个连接,当我试图添加结果的DLL作为主项目的参考,并尝试更改DBConfig数据然后更改主项目的dbconfig类字段

主要项目

static void Main()
{
     DBConfig.DbName = "InvDB";
     DBConfig.Password = "3343402";
     DBConfig.ServerName ="ziad-pc";
     DBConfig.UserName = "admin";
     DBConfig.Lang = "AR";
     GLINVSERVICES.ServiceConfig.Init("ZIAD-PC", "GLTest", "admin", "3343402");
}
Run Code Online (Sandbox Code Playgroud)

另一个DLL项目

namespace GLINVSERVICES
{
public static  class ServiceConfig
{
    public static void Init(string ServerName, string DBName, string UserName, string Password)
    {
        DBConfig.Datatype = EgxDataType.Mssql;
        DBConfig.DbName = DBName;
        DBConfig.Lang = "AR";
        DBConfig.ServerName = ServerName;
        DBConfig.UserName = UserName;
        DBConfig.Password = Password;
    }                     
}
}
Run Code Online (Sandbox Code Playgroud)

我需要分离DBConfig静态类,以便我可以建立不同的连接

Pet*_*old 5

远离静态类.你在这里的问题清楚地说明了为什么他们会让你陷入严重的麻烦 相反,您应该重构代码以使用DBConfig 的实例,并将该实例注入需要它的位置.

  • @ZiadELNaggar这是为什么首先设计然后编码的好例子...... (4认同)