Должны ли все поля в классе моделирования GlobalSettings быть статическими (C # -центричными)?

StackOverflow https://stackoverflow.com/questions/1030852

Вопрос

Идея состоит в том, что класс ApplicationSettings получит некоторые значения по умолчанию из файла конфигурации / ресурса, а затем некоторые, но не все, из этих настроек будут применены к UserSettings

Это было полезно?

Решение

У вас должны быть только поля экземпляра в таком классе и, если необходимо, сделать весь класс синглтоном (хотя будьте осторожны, чтобы не раскрывать его глобально - синглтоны - зло ).

Статические поля не могут быть сериализованы (что важно для класса настроек). Во-вторых, имея поля экземпляров, вы можете легко передавать разные экземпляры настроек в разные части вашего приложения. И важным моментом является передача настроек остальной части приложения, чтобы не сделать их глобально видимыми, чтобы каждый объект мог получить к ним доступ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top