Manter o mapeamento de enum-to-object com a classe enum?
Freqüentemente preciso de um mapeamento global codificado entre um enum e outro objeto (uma string neste exemplo). Eu quero co-localizar o enum e mapear as definições para esclarecer a manutenção.
Como você pode ver, neste exemplo, uma classe irritante com um campo estático é criada.
<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>
Às vezes, a classe de mapeamento pode ter mais funções e um nome significativo, e a atividade de mapeamento pode até ser privada. Mas isso apenas polui o problema de manutenção / correlação.
Alguém tem um bom padrão para isso?