gpt4 book ai didi

c# - 保持单例实例的最佳位置

转载 作者:行者123 更新时间:2023-11-30 21:05:45 24 4
gpt4 key购买 nike

存储单例类实例的最佳位置在哪里?举例来说,我有一个配置类(它加载应用程序的全局设置),也许还有一个访问 Web 服务的类,我不确定在哪里最好实例化这些并保存它们。

目前,我将它们作为 Program 类的实例(从中调用 Application.Run),它似乎工作正常,但我不确定这是否是最好的方法!...

static class Program
{
public static string dbConnectString = "Data Source=" +
Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) +
@"\xxx.sdf" + ";Persist Security Info=False";
public static Settings settings = null;

[MTAThread]
static void Main()
{
settings = Settings.Instance;
Application.Run(new MainMenu());
}
}

在整个应用程序中,我这样调用它:

txtWebServiceUrl.Text = Program.settings.getSetting("web_service_url");

这有什么问题吗,或者最好的方法是什么?谢谢!

最佳答案

我个人会让它们变得漂亮且易于访问 - 将它们放在“设置”或“全局”类中。哦,如果可能的话,我会使用属性 [或枚举] 来访问设置,而不是字符串键,这样当你打错字时,智能感知可以猛击你的脑袋。

public static class Settings
{
static Dictionary<string,string> data = new Dictionary<string,string>();

public static string WebServiceUrl {get {return data["web_service_url"];}}
}

这样使用:

 txtWebServiceUrl.Text = Settings.WebServiceUrl;

虽然显然这是可选的。

希望对您有所帮助。

关于c# - 保持单例实例的最佳位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11496852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com