如果该方法包含需要处理的参数,则递归调用异步方法是否安全?
public async Task<bool> ConnectAsync(CancellationTokenSource cancellationTokenSource)
{
using CancellationTokenSource token = new CancellationTokenSource();
await ConnectAsync(token).ConfigureAwait(false);
}
这是安全的,因为控件将始终返回到创建它的方法的实例。所以只要你:
是的,在使用using语句的C#递归中是安全的,当被调用方的执行终止并且代码返回给调用方时,将正确处置该对象。