在整个应用程序中访问数据的最佳方式是什么?在我的具体示例中,我将应用程序的设置从 XML 文件加载到 Settings-Object 的实例中,并且我不想将这些设置为绝对常量,因为用户应该能够更改这些设置(并查看效果) )无需重新启动程序。
现在,我需要在其他类的方法中使用某些(属性)设置,但这样它们就无法访问。那么我应该将设置存储在什么样的“对象”中呢?我认为每个需要在我的应用程序中进行设置的方法都必须查看 XML 本身并不是一件好事。另外,将设置实例传递到我使用的每个其他类中似乎太麻烦了。
提前致谢!
在 C# 中,我总是使用静态类来提供此功能。详细介绍了静态类here,但简单来说,它们只包含静态成员并且没有实例化——本质上它们是通过类名(和命名空间)访问的全局函数和变量。
这是一个简单的例子:
public static class Globals
{
public static string Name { get; set; }
public static int aNumber {get; set; }
public static List<string> onlineMembers = new List<string>();
static Globals()
{
Name = "starting name";
aNumber = 5;
}
}
请注意,我还使用静态初始化程序,保证在使用/调用任何成员或函数之前的某个时刻运行。
在程序的其他地方,您可以简单地说:
Console.WriteLine(Globals.Name);
Globals.onlineMembers.Add("Hogan");
为了响应评论而重申,静态对象仅“创建”一次。因此,您的应用程序在任何地方使用该对象都将来自同一位置。根据定义,它们是全球性的。要在多个地方使用该对象,只需引用对象名称和要访问的元素即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)