BooleanDisposable使用指南

时间:2015-09-29 13:16:19

标签: c# .net system.reactive code-design

2 个答案:

答案 0 :(得分:0)

好的,关于问题的反馈不多,我猜它有点利基,在这里:

如果你使用volatile bool _isDisposedBooleanDisposable使用前者更清洁的设计。

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

答案 1 :(得分:0)

一般情况下,处理IDisposable should be idempotent - 您应该能够多次处理它而不会产生负面后果。

这种情况的后果是,您几乎从不关心IDisposable是否已被处置。你刚刚完成后就把它丢弃了。

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

如果您需要在处置Disposable时执行某些操作,那么您只需使用Disposable.Create并执行操作中需要执行的操作。

因此,我对BooleanDisposable的唯一指导是,如果您认为需要它,您的设计可能会比它需要的更复杂。与此相关的终结者指南类似。