Мне часто требуется глобальное жесткое -закодированное сопоставление между перечислением и другим объектом (строкой в этом примере ). Я хочу совместно -найти определения перечисления и сопоставления, чтобы уточнить обслуживание.
Как видите, в этом примере создается раздражающий класс с одним статическим полем.
public enum EmailTemplates
{
// Remember to edit the corresponding mapping singleton!
WelcomeEmail,
ConfirmEmail
}
public class KnownTemplates
{
public static Dictionary<EmailTemplates, string> KnownTemplates;
static KnownTemplates() {
KnownTemplates.Add(EmailTemplates.WelcomeEmail, "File1.htm");
KnownTemplates.Add(EmailTemplates.ConfirmEmail, "File2.htm");
}
}
Иногда класс отображения может иметь больше функций и осмысленное имя,и картографическая деятельность может быть даже частной. Но это только загрязняет проблему обслуживания/корреляции.
У кого-нибудь есть хороший шаблон для этого?