gpt4 book ai didi

c# - 正确实现 IDisposable

转载 作者:太空狗 更新时间:2023-10-30 01:36:14 24 4
gpt4 key购买 nike

确保自己不使用处置类是否有意义?我只是想在我的 IDisposable 类的 all 方法中添加以下两行:

if (disposed)
throw new InvalidOperationException("Attempt to use disposed object!");

这似乎不对。

最佳答案

我最好的回答是视情况而定。

一次性类是否仅在单个项目中使用?

  • 可能不会(尽管断言具有相同的效果可能还不错)

这个类是否被你以外的任何人或一个小团队使用?

  • 可能是

访问已处置对象的副作用是什么?

  • 如果它以其他方式抛出异常,那么上面的内容将使你的生活调试更容易,但在大多数情况下最终结果是相同的
  • 如果它能正常工作(即重新分配任何必要的资源等),那么谁会真正关心
  • 如果它会导致未定义或不可预测的行为,那么肯定不会抛出异常,尤其是如果您对上述问题回答“否”然后又回答"is"

关于c# - 正确实现 IDisposable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22823564/

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