本地化一长串描述

时间:2014-10-08 09:47:44

标签: c#

我有一个类,有几十行Sentence1,Sentence2等等。它们包含我想要本地化的描述性部分。我的解决方案是否正确(我的意思不仅是工作,而且你看到任何代码味道)。

[Serializable]
public class ResultType : ISerializable, IEquatable<ResultType>
{
    public int IDResultType { get; set; }
    public string ResultName { get; set; }
    public string ResultSymbol { get; set; }
    public bool IsTeam { get; set; }
    public string Group { get; set; }

public static ResultType Sentence1 = new ResultType(1, Resource.Sentence1, "FT1");

public static ResultType Sentence2 = new ResultType(2, Resource.Sentence2, "FT2");

public static ResultType Sentence3 = new ResultType(3, Resource.Sentence3, "FT3");
}

1 个答案:

答案 0 :(得分:0)

缺点:

  • (如果不可变。)语言在启动时被选中,以后不能更改。
  • (如果可变。)封装被破坏,任何人都可以更改静态实例及其属性。
  • 语言选择无法预测。当以这种方式构造静态实例时,运行时可以在设置语言之前选择调用静态字段的构造函数。 (可以通过添加显式静态构造函数来修复。)

在一个简单的应用程序中,它可能就足够了。在更复杂的应用程序中,我宁愿添加静态属性。如果垃圾成为问题,可以缓存值。