gpt4 book ai didi

.net - 是否应该从属性 get 中抛出 ObjectDisposedException

转载 作者:行者123 更新时间:2023-12-02 00:06:38 25 4
gpt4 key购买 nike

所以根据这个http://msdn.microsoft.com/en-us/library/system.objectdisposedexception.aspx ObjectDisposedException 是:

The exception that is thrown when an operation is performed on a disposed object.

因此,由于属性 get 不应该改变状态,所以它并不是真正的“执行操作”。那么是否应该抛出 ObjectDisposedException 然后有人访问已处置对象上的属性集?

最佳答案

在大多数情况下,处置对象的任何使用都是无效的。因此,抛出一个属性 get 并不是不合理的。

也就是说,这可能会导致额外的开销,这可能足以阻止 JIT 对 getter 进行内联,因此在实践中,如果 getter 无论如何都会成功,则可能不值得添加处置检查。如果属性 getter 在处理后会失败并抛出,那么我肯定会添加检查,因此异常将是有意义的并且与类型无关。

So should an ObjectDisposedException be thrown then someone accesses a property set on a disposed object?

如果对象已被处置,我绝对认为在属性 setter 上抛出是合适的。

关于.net - 是否应该从属性 get 中抛出 ObjectDisposedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18069521/

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