¿Deberían todos los campos en una clase de modelado GlobalSettings ser estáticos (centrados en C #)?
Pregunta
La idea es que la clase ApplicationSettings obtendrá algunos valores predeterminados de un archivo de configuración / recurso y más adelante se aplicarán algunas, pero no todas, de esas configuraciones a UserSettings
Solución
Debería tener solo campos de instancia en dicha clase, y hacer que toda la clase sea Singleton si es necesario (aunque tenga cuidado de no exponerla globalmente - los singletons son malos ).
Los campos estáticos no se pueden serializar (lo cual es importante para una clase de configuración). En segundo lugar, al tener campos de instancia, puede pasar fácilmente diferentes instancias de configuración a diferentes partes de su aplicación. Y el punto importante es pasar las configuraciones al resto de la aplicación, no hacerlas visibles globalmente para que todos los objetos puedan acceder a ellas.