使用类来保存与软件消息相关的字符串

时间:2010-07-13 20:26:52

标签: c# user-controls user-interface messages

您如何看待使用公共静态类来保存errorMessages和Ui按钮名称等?

示例:

   public static class UiMessages
    {
        public const string ConfirmationDialogTitle = "Atenção";
        public const string ConfirmationLandOwnerDelete = "Você tem certeza que deseja deletar os proprietários selecionados?";
        public const string ConfirmationProfessionalDelete = "Você tem certeza que deseja deletar os profissionais selecionados?";
        public const string ConfirmationGnssDevice = "Você tem certeza que deseja deletar os aparelhos selecionados?";
    }

这是一个糟糕的实践吗?有没有更好的方法来解决这个问题?

4 个答案:

答案 0 :(得分:2)

在这种情况下,我会说是的,这是不好的做法 - 因为你可能想要internationalization和本地化扩展;您可以更好地利用属性或资源来完成这项任务。

但是,我使用类似的内部类(例如不显示给用户)数据,例如数据列的名称。

答案 1 :(得分:2)

在C#中,使用.resx文件并使用built-in localization functions

答案 2 :(得分:1)

这是定义全局变量的另一种方式,与任何其他全局变量一样好/坏。

这些真的需要全球可访问吗?看起来每个人只需要一个班级。

我能看到的唯一进展是,如果您想将它们翻译成不同的语言,那么您可以在一个地方使用所有字符串,但这会将我们带入一个完全不同的区域。

答案 3 :(得分:1)

这应该有所帮助:

  

http://www.c-sharpcorner.com/uploadfile/ankithakur/globalization_localization_in_dotnet_csharp07032006023510am/globalization_localization_in_dotnet_csharp.aspx

(哎呀,那是ASP.NET的)..试试这个:

  

http://msdn.microsoft.com/en-us/goglobal/bb688096.aspx

这是一个很好的例子:

  

http://msdn.microsoft.com/en-us/library/y99d1cd3(VS.71).aspx

.NET始终支持本地化和全球化支持,仅用于此类事情。

希望有所帮助!