0

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

目前在代码中我这样称呼这个值

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)计划在未来可用于其他国家和语言。

4

1 回答 1

1

我宁愿做这样的事情:

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

这样,值是静态的。如果名称更改,您只需修改此类中的字符串。因为在这个类中一切都是静态的,你可以这样做:

Console.WriteLine(AppGlobalConstants.MsgSuccess);

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

于 2013-08-24T18:07:48.207 回答