При запуске приложения у меня есть пара классов, которые требуются для чтения определенных файлов, чтобы создать набор данных по умолчанию.
Логическое место (для меня) сделать это в конструкторе класса Shared; идея состояла бы в том, чтобы вызвать событие уровня класса, если чтение файла по умолчанию не удается. К сожалению, это не работает, поскольку попытка получить доступ к такому событию, чтобы прикрепить к нему обработчик, вызывает конструктор класса до события, которое было прикреплено. В случае сбоя конструктор запускается, запускает событие сбоя, конструктор завершается, а затем присоединяется обработчик события, после события сработало.
Единственное другое решение, которое я могу придумать, - это дать классу логическое свойство "typeInitialisedSuccessfully" и поместить блок try / catch вокруг каждый вызов для создания экземпляра класса, который кажется излишне запутанным для меня.
Может кто-нибудь предложить более элегантное решение?
РЕДАКТИРОВАТЬ: поскольку это фундаментальный класс, используемый в той или иной форме почти во всех наших программных инструментах, я бы предпочел решение, которое уведомит будущих программистов о необходимости вызова инициализатора типа, поэтому я Первоначально пошли к общему конструктору в качестве решения.