|
|
1
3
因此,可以将关键部分包装在try/catch中,至少这意味着类型不会初始化失败,但是如果初始化代码非常关键,那么这种行为实际上是好的——在这种未初始化的状态下,类型是不可用的。 另一种选择是作为一个单独的实例来完成,每次尝试获取实例时,都可以正确地创建类型,直到成功为止,即使它第一次失败了。 如果实例在第一次(或第二次等)返回空值,您仍然需要对调用方进行一些错误处理。 编辑:如果您不希望使用单例,那么只需让实例构造函数初始化静态部分即可。 例如
|
|
|
2
4
这里的教训非常简单:不要在静态构造函数中做任何可能会合理失败的事情。 |
|
|
3
1
我过去使用的解决方法是创建一个单例。如果并且仅当失败意味着整个应用程序无法运行时,使静态构造函数失败。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 11 月前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 11 月前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 11 月前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |