Sugiera una práctica recomendada para crear una clase de Constantes

15

Hay un debate entre los miembros de mi equipo sobre la declaración de una clase de Constantes. Estamos moviendo las variables constantes a una clase separada como abajo.

public class Constants
{
      public const string StateId = "ST";
      public const string CountryId = "CI";
}

Algunos de los miembros de mi equipo sugirieron que declaremos la clase como sellada para evitar la opción de anulación, y algunos sugieren que la marcemos como estática para evitar la creación de instancias de la clase Constant.
Sin embargo, prefiero tenerlo como Sellado con un constructor estático, ya que nos ayudará a inicializar las variables de solo lectura en futuras necesidades. Por favor danos un consejo sobre esto.

    
pregunta user46506 26.02.2014 - 07:19

1 respuesta

24

No está totalmente claro cuál es tu pregunta, pero si los valores son realmente constantes, no veo un problema con la simple opción de:

    public static class LocationConstants
    {
        public const string StateId = "ST";
        public const string CountryId = "CI";
    }

El uso de static en la declaración de clase señala su intención para el propósito de esta clase.

Marc Gravell describe algunos de los problemas potenciales con las constantes en esta respuesta de desbordamiento de pila . Solo sabrá si estos son un problema en su base de código, pero si los valores podrían alguna vez cambiar, use public static readonly en lugar de const ; si los valores cambian.

    
respondido por el jcorcoran 04.03.2014 - 22:27

Lea otras preguntas en las etiquetas