我正在编写基于C#.NET 4.5的Windows窗体应用程序。
我想在其中一个类(可能是主Form的类)中设置一个标志(布尔值),用于定义应用程序是否在生产调试模式下运行。我将使用此标志来控制应用程序的各种操作,包括基于GUI的操作以及要使用的连接字符串。
我对基于GUI的东西没有问题,因为标志是在主Form的类中定义的,但是我遇到了连接字符串的问题。有一个单独的DB访问类,它基本上只定义一个这样的常量:
namespace MyApp
{
class DatabaseInterface
{
public static string MyConnectionString = "Data Source=server;Initial Catalog=db";
}
}
我想根据生产/调试标志更改连接字符串(实际上只是“服务器”)。我不想在每个使用连接字符串的地方放置if / then / else(在调试和生产字符串之间切换),但是想要一个可以在整个应用程序中使用的命名连接字符串。我也不想实例化一个DatabaseInterface
对象(我知道我可以在DatabaseInterface
类的公共属性的“get”定义中动态地改变它。)
有办法做到这一点吗?
答案 0 :(得分:1)
如果你想根据一个标志做这个并且不希望if在任何地方,我建议你使用这样一个简单的getter:
namespace MyApp
{
class DatabaseInterface
{
public static string getConnectionString()
{
return myFlag ? "Data Source=server;Initial Catalog=db" : "AnotherString";
}
}
}