Вы не можете иметь параметры ref
или out
в методах async
(как уже было отмечено).
Это кричит для некоторого моделирования в движущихся данных:
public class Data
{
public int Op {get; set;}
public int Result {get; set;}
}
public async void Method1()
{
Data data = await GetDataTaskAsync();
// use data.Op and data.Result from here on
}
public async Task<Data> GetDataTaskAsync()
{
var returnValue = new Data();
// Fill up returnValue
return returnValue;
}
Вы получаете возможность повторно использовать свой код более легко, а также более читабельны, чем переменные или кортежи.