我有一个需要在字符串值之间进行映射的应用程序,因此本质上是一个可以保存键值对的容器。我没有使用字典或名称 - 值集合,而是使用了我在代码中以编程方式访问的资源文件。我理解资源文件用于多语言实现等的本地化场景。但是我喜欢它们的强类型性质,它确保如果值被更改,则应用程序不会编译。
但是,我想知道使用* .resx文件进行简单的键值对存储是否有任何重要缺点,而不是使用更传统的编程类型。
答案 0 :(得分:0)
我可以想到两个缺点:
顺便说一句。你不能只创建包含属性的辅助类或结构,如:
public static class GlobalConstants
{
private const int _SomeInt = 42;
private const string _SomeString = "Ultimate answer";
public static int SomeInt
{
get
{
return _SomeInt;
}
}
public static string SomeString
{
get
{
return _SomeString;
}
}
}
然后,您可以像资源文件一样以完全相同的方式访问这些属性(我假设您已经习惯了这种风格):
textBox1.Text = GlobalConstants.SomeString;
textBox1.Top = GlobalConstants.SomeInt;
也许这不是最好的事情,但我坚信这仍然比使用资源文件更好......