Сохранить сопоставление объектов enum -и -с классом enum?

Мне часто требуется глобальное жесткое -закодированное сопоставление между перечислением и другим объектом (строкой в ​​этом примере ). Я хочу совместно -найти определения перечисления и сопоставления, чтобы уточнить обслуживание.

Как видите, в этом примере создается раздражающий класс с одним статическим полем.

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

Иногда класс отображения может иметь больше функций и осмысленное имя,и картографическая деятельность может быть даже частной. Но это только загрязняет проблему обслуживания/корреляции.

У кого-нибудь есть хороший шаблон для этого?

11
задан shannon 24 April 2012 в 23:34
поделиться