Tim*_*lds 3 .net c# system.reactive
此问题引用名称空间中的CompositeDisposable类System.Reactive.Disposables。
对其成员进行CompositeDisposable呼叫的顺序是否Dispose确定?
以下实验产生了list ['a', 'b'],但是我在文档中看不到保证一定顺序的任何东西。
var result = new List<char>();
var disposable = new CompositeDisposable(
Disposable.Create(() => result.Add('a')),
Disposable.Create(() => result.Add('b')));
disposable.Dispose();
Run Code Online (Sandbox Code Playgroud)
内部CompositeDisposable使用以下字段存储一次性用品:
private List<IDisposable> disposables;
Run Code Online (Sandbox Code Playgroud)
它使用list .Add(...)方法将项目添加到列表的末尾。通过构造函数添加项目时,列表将按顺序用一次性物品实例化。
然后foreach,在处理时,它会在一次性用品上使用一个简单的循环。
因此,您可以确信当前的实现将按顺序处理它们。您还可以做出明智的猜测,即使他们将来更改了实现,他们也不会更改此行为,否则将是一个重大更改。
| 归档时间: |
|
| 查看次数: |
1952 次 |
| 最近记录: |