我有一个foreach循环,创建这样的多任务:如何处理它在任务中创建的对象?
[编辑:CreateDisposableAsync返回任务[IDisposable的]
foreach(...)
{
tasks.Add(CreateDisposableAsync());
}
,后来我在等待着所有的这些任务,并捕获任何异常:
try
{
await Task.WhenAll(tasks);
}
catch (AggregateException)
{
// handle exceptions
}
但调用CreateDisposableAsync()返回一个IDisposable的,这是我想被布置是否有在任何任务异常。我怎样才能做到这一点?
[编辑:原来,在CreateDisposableAsync()函数处置其创建的对象,如果本身抛出异常,所以没有什么错的原始代码]
'tasks'的类型是什么?你确定你需要处置吗? https://blogs.msdn.microsoft.com/pfxteam/2012/03/25/do-i-need-to-dispose-of-tasks/ –
最简单的方法是确保'CreateDisposableAsync'清理自己的资源所以它负责处理它创建的需要处理的任何对象。 – Igor
@ LasseV.Karlsen返回类型是任务 –