在启动我的应用程序时,我有几个类需要读取某些文件才能创建一组默认数据。
这样做的逻辑位置(对我来说)是在共享类构造函数中;如果读取默认文件失败,这个想法是抛出一个类级别的事件。不幸的是,这不起作用,因为试图访问这样的事件,为了将处理程序附加到它,在事件附加之前触发类构造函数。在失败的情况下,构造函数启动,触发失败事件,构造函数完成,然后在事件触发后附加事件处理程序。
我能想到的唯一其他解决方案是给类一个“typeInitialisedSuccessfully”布尔属性,并在每个调用周围放置一个 try/catch 块以构造类的实例,这对我来说似乎不必要地笨拙。
有人可以提出更优雅的解决方案吗?
编辑:因为这是一个基本类,在我们几乎所有的软件工具中都以一种或另一种形式使用,我非常希望有一个解决方案可以通知未来的程序员需要调用类型初始化程序,这就是我最初去的原因共享构造函数作为解决方案。