我在C#中阅读了何时使用静态类,但最佳答案并不一定能回答我的问题。我有一个应用程序通过HTTP服务器与相当多的类似硬件连接。必须登录每个设备,凭证通常是相同的。我正在使用Properties.Settings.Default.etc来处理应用程序范围的设置;但是,为了方便起见,我会在单独登录设备时跟踪上次使用的用户名/密码。除非通过选项窗口进行更改,否则可以使用通过选项窗口设置的默认值,除非通过更改临时设置并在默认值中使用,否则保持不变。
无论如何,这就是场景......关于这个问题,我正在这样做:
private static class TemporarySettings
{
public static string Username = Properties.Settings.Default["Username"].ToString();
public static string Password = Properties.Settings.Default["Password"].ToString();
}
这是愚蠢的吗?
答案 0 :(得分:3)
这不是愚蠢的,它可以完美地解决你的问题(如果确实如此,不要改变它)。但是,这种方法可能会导致一些问题,并且有助于了解这些问题。
重申一下,你不应回避最简单的解决方案(正如你所定义的那样)因为这些潜在的问题,除非你认为你有可能被焚烧他们将来。否则,在需要时可能不会很难重构到实例类。
答案 1 :(得分:1)
更好的是,标记它们readonly
或使用只有吸气剂的属性。
答案 2 :(得分:0)
您将用户名和密码设置为相同的值,但除此之外,没有。