Я бы не стал использовать статический класс 'GlobalData', так как он похож на универсальный класс универсального типа Utils, который может в конечном итоге стать местом сброса мусора для всех видов мусора. Я бы больше склонялся к использованию настроек Windows Forms (будь то настройки пользователя или приложения) для хранения информации о моей конфигурации. Затем ваши данные конфигурации могут быть получены из любого места в вашем проекте Winforms, используя Properties.Settings.Default.MySetting
.
С учетом сказанного есть некоторые вещи, которые я могу сохранить в статическом классе. Например, у меня есть статический объект SqlDBConnectionInfo, содержащий мой сервер, базу данных и учетные данные, которые можно использовать для создания объекта Sql Connection или для выполнения операций резервного копирования / восстановления SMO. Этот статический объект создается при входе в систему, и любой другой класс, который каким-то образом должен работать с базой данных SQL, может получить статический объект.
Редактировать: Еще одна возможность - если вы десериализуете / сериализуете свои данные конфигурации с использованием класса экземпляра, вы можете создать статическое свойство в вашем Program.cs, которое будет содержать экземпляр вашего десериализованного объекта конфигурации. , Затем другие классы в вашем проекте могут ссылаться на ваши данные конфигурации, используя: MyProjectName.MyConfigurationObject
.