显示全球资源价值的最佳方式

时间:2013-08-24 18:00:03

标签: c# asp.net resources constants

我有一个包含许多值的全局资源文件

目前在代码中我调用了这样的值

TxtSuccess.Text =  (string) GetGlobalResourceObject("GlobalResource", "msgSuccess");

但如果在设计的后期我们需要重命名变量,那么维护就会很痛苦。

做这样的事情会更好吗?

public class AppGlobalConstants
{
    public string MsgSuccess{ get; private set; }

    public AppGlobalConstants()
    {
       MsgSuccess= (string) GetGlobalResourceObject("GlobalResource", "msgSuccess");
    }
}

然后,如果团队后来希望更改其中某些全局资源的名称,则无需修改使用这些资源的任何页面。

我们希望使用全局变量,因为我们的Web应用程序(asp.net web forms 4.5)计划将来可用于其他国家/地区和语言。

1 个答案:

答案 0 :(得分:1)

我宁愿做这样的事情:

public static class AppGlobalConstants
{
    public static string MsgSuccess
    {
        get
        {
            return (string) GetGlobalResourceObject("GlobalResource", "msgSuccess");
        }
    }
}

这样,值是静态的。如果名称发生更改,您只需修改此类中的字符串即可。因为这个类中的所有内容都是静态的,所以你可以这样做:

Console.WriteLine(AppGlobalConstants.MsgSuccess);

如果需要,还可以为属性添加set访问器。因为一切都是静态的,所以不需要创建这个类的实例。