Existen diferencias significativas entre const
y public static readonly
, y usted debe considerar cuál utilizar con cuidado:
(Por "cliente" aquí, significa "código de una manera diferente Asamblea refiriéndose al miembro.)
- Si cambia el valor, pero no vuelva a compilar los clientes, que todavía va a utilizar el valor original si se utiliza
const
. con public static readonly
, verán el valor actualizado. Si vuelve a compilar todos los clientes cualquier manera, esto no es un problema.
- Sólo la forma
const
es un tiempo de compilación constante, lo que significa que se puede utilizar en:
- atributo argumentos
- sentencias switch
- declaraciones de parámetros opcionales
Si' Estaremos encantados de recompilar a todos sus clientes si alguna vez cambia el valor, los beneficios del segundo punto de viñeta hacia el uso de const
.
Por supuesto, me pregunto si realmente Pages
necesidades sean públicas de todos modos ... suena como algo que podría ser internal
, con internal
miembros - momento en el que las desventajas de const
desaparecen por completo.
Para la visibilidad pública preferiría 'static readonly' a' const' porque luego puede cambiar el valor después sin necesidad de volver a compilar. – mgronber
@mgronber: depende del contexto. En la mayoría de los contextos en los que me he desarrollado, si cambia un ensamblaje, termina recompilando clientes de ese ensamblaje de todos modos antes de usar la nueva versión. –