У меня есть класс с дюжиной строк типа 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");
}
Недостатки:
В простом приложении этого может быть достаточно. В более сложном приложении лучше добавить статические свойства. Если мусор становится проблемой, значения могут быть кэшированы.
ResultType
может быть изменен извне любым кодом, также могут быть изменены его статические поля.