具有可弃参数且异步等待的C#递归

问题描述 投票:1回答:2

如果该方法包含需要处理的参数,则递归调用异步方法是否安全?

public async Task<bool> ConnectAsync(CancellationTokenSource cancellationTokenSource)
{
    using CancellationTokenSource token = new CancellationTokenSource();
    await ConnectAsync(token).ConfigureAwait(false);
}
c# recursion async-await task-parallel-library
2个回答
3
投票

这是安全的,因为控件将始终返回到创建它的方法的实例。所以只要你:


0
投票

是的,在使用using语句的C#递归中是安全的,当被调用方的执行终止并且代码返回给调用方时,将正确处置该对象。

© www.soinside.com 2019 - 2024. All rights reserved.