首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BooleanDisposable使用指南

BooleanDisposable使用指南
EN

Stack Overflow用户
提问于 2015-09-29 21:16:19
回答 2查看 212关注 0票数 0

作为一个通用的编码指南,什么时候应该使用响应式扩展中的BooleanDisposable?

https://github.com/Reactive-Extensions/Rx.NET/blob/master/Rx.NET/Source/System.Reactive.Core/Reactive/Disposables/BooleanDisposable.cs

EN

回答 2

Stack Overflow用户

发布于 2015-09-30 17:20:54

好了,对问题没有太多的反馈,我想这是一个小众,它是这样的:

如果你使用volatile bool _isDisposedBooleanDisposable相比,前者的设计更简洁。

有关volatile关键字的更多信息:Here

票数 0
EN

Stack Overflow用户

发布于 2015-10-01 07:37:54

通常,处理IDisposable should be idempotent -您应该能够多次处理它,而不会产生负面后果。

由此产生的后果是,您几乎从不关心IDisposable是否已被释放。您只需在完成后将其处理即可。

在我使用Rx的时候,我还没有遇到过需要知道Disposable实例是否已经被释放的情况。通常,来自Rx的Disposable对象是组合的,然后从订阅返回。知道Disposable是否已被释放很少是有用的信息。

如果您需要在Disposable被释放时执行某些操作,那么您可以只使用Disposable.Create并在操作中执行您需要执行的任何操作。

所以我要说的关于BooleanDisposable的唯一准则是,如果你认为你需要它,你的设计可能会比它需要的更复杂。在这方面,类似于Finalizer的指导方针。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32845030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档