gpt4 book ai didi

c# - 当派生类构造函数产生错误时如何处理C#基类

转载 作者:太空狗 更新时间:2023-10-30 00:42:38 24 4
gpt4 key购买 nike

如果 C# 派生的 IDisposable 类构造函数生成错误,如何处理已经完全构造的 IDisposable 基类?

由于类层次结构中的所有字段在任何构造函数执行之前都已初始化,派生构造函数调用 base.Dispose() 是否安全?它违反了在对象完全构造之前不调用虚拟方法的规则,但我想不出另一种方法,而且我的搜索没有发现任何关于这种情况的信息。

最佳答案

我的观点是构造函数应该是轻量级的,而不是依赖可能引发异常的外部资源/等。构造函数应该做足够的工作来验证可以安全调用 Dispose() 。考虑使用包含而不是继承,或者让工厂方法完成可能抛出的工作。

关于c# - 当派生类构造函数产生错误时如何处理C#基类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14370703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com