También puede usar un patrón Singleton. Esa es una clase de clase de la cual solo existe una instancia. La clase en sí no es estática, pero solo tiene una instancia de esa clase y puede proporcionarla a través de una propiedad estática (MyConfig.Configuration en la muestra).
public class MyConfig
{
static MyConfig configuration = new MyConfig();
public static MyConfig Configuration { return configuration; }
readonly string version;
public string Version { get { return version; } }
MyConfig() { version = "0.1"; }
}
Y no te olvides de las enumeraciones para poner las constantes relacionadas en un contenedor. –