Enum-to-Object-Zuordnung mit Enum-Klasse beibehalten?

Ich benötige häufig eine globale fest codierte Zuordnung zwischen einer Aufzählung und einem anderen Objekt (in diesem Beispiel eine Zeichenfolge). Ich möchte die Enumeration und die Zuordnungsdefinitionen zusammen finden, um die Wartung zu verdeutlichen.

Wie Sie in diesem Beispiel sehen können, wird eine störende Klasse mit einem statischen Feld erstellt.

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

Manchmal kann die Zuordnungsklasse mehr Funktionen und einen aussagekräftigen Namen haben, und die Zuordnungsaktivität kann sogar privat sein. Dies verschmutzt jedoch nur das Wartungs- / Korrelationsproblem.

Hat jemand ein gutes Muster dafür?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage