本地化一长串描述

本文关键字:描述 本地化 | 更新日期: 2023-09-27 18:25:58

我有一个类,有十几行类型为"句子1"、"句子2"等等。它们包含我想要本地化的描述性部分。我的解决方案正确吗(我的意思是不仅有效,而且你看到任何代码气味了吗)。

[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");
}

本地化一长串描述

缺点:

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

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