作为一般编码指南何时应该使用来自反应性扩展的BooleanDisposable?
答案 0 :(得分:0)
好的,关于问题的反馈不多,我猜它有点利基,在这里:
如果你使用volatile bool _isDisposed
与BooleanDisposable
使用前者更清洁的设计。
有关volatile关键字的更多信息:Here
答案 1 :(得分:0)
一般情况下,处理IDisposable should be idempotent - 您应该能够多次处理它而不会产生负面后果。
这种情况的后果是,您几乎从不关心IDisposable是否已被处置。你刚刚完成后就把它丢弃了。
在我使用Rx时,我没有遇到过需要知道Disposable实例是否已被处置的情况。通常,来自Rx的Disposable对象被组合,然后从订阅返回。了解Disposable是否已被处置是很少有用的信息。
如果您需要在处置Disposable时执行某些操作,那么您只需使用Disposable.Create并执行操作中需要执行的操作。
因此,我对BooleanDisposable的唯一指导是,如果您认为需要它,您的设计可能会比它需要的更复杂。与此相关的终结者指南类似。