В общем использую просто таск написал такой код:
private void makeExperiment()
{
Task task = new Task(
() => _experiment.Start(data)
);
var awtr = task.GetAwaiter();
awtr.OnCompleted(
() =>
{
//что то делаем после
});
task.Start();
}
Как его переписать в стиле C# 5 , как я понимаю должно быть так
private void makeExperimentAsync()
{
await _experiment.StartAsync(data);
//что то делаем после
}
Но что должно быть в методе StartAsync ? просто все обернуть в Task , но если я ничего не хочу возвращать из потока написать return Task.Run( //...) не получается, нужно писать await Task.Run, так выходит что await должен быть и внутри асинхронного метода и снаружи?