2011-02-14 10 views
5

Mi idea es evitar las claves mágicas de cadena en mi aplicación Asp.Net MVC. Para hacerlo, quiero crear claves de cadena constante para compartirlas en la aplicación.¿Es una buena idea utilizar las teclas de cadena constante para evitar las teclas de cadena mágica?

Por ejemplo, puedo escribir TempData[MyConst.Message] en lugar de TempData["Message"].

public class MyConst 
{ 
    public const string Message = "Message"; 
} 

Mis preguntas son: ¿Es una buena idea hacerlo de esta manera?

+2

Esto es exactamente lo que hago. Puse la constante en la clase que se almacenará. – Ryan

Respuesta

5

En lugar de clases personalizadas, ponga sus cadenas en un archivo resx. VS generará una clase para usted y le resultará más fácil traducirla a un idioma diferente en el futuro si fuera necesario.

No hay nada específico que deba hacer para MVC. Echa un vistazo aquí:

http://msdn.microsoft.com/en-us/library/fw69ke6f(v=vs.80).aspx

http://support.microsoft.com/kb/917414

http://msdn.microsoft.com/en-us/library/ms227427.aspx

Para el uso 'interno' yo preferiría enumeraciones sobre cuerdas.

+0

Esa es una buena respuesta. ¿Dónde puedo encontrar los detalles? – LaTeX

+3

Si las cadenas se muestran al usuario final, haga esto. Sin embargo, parece que los está utilizando internamente como claves del diccionario, en cuyo caso es mejor hacer lo que se le describe: crear manualmente constantes de cadenas estáticas en una clase abstracta. –

+0

y @ Zoomzoom83: gracias. Es muy útil. – LaTeX

Cuestiones relacionadas