c# where to use async code example
Example 1: how to await a task c#
private async void myEvent()
{
Task myTask = MyFunction();
var result = await myTask;
}
private void SomeFunction()
{
myEvent?.Invoke();
Task.WaitAny(myTask);
if(myTask.isCompleted)
DoSomething();
}
Example 2: c# async constructor
public class ViewModel
{
public ObservableCollection<TData> Data { get; set; }
async public static Task<ViewModel> BuildViewModelAsync()
{
ObservableCollection<TData> tmpData = await GetDataTask();
return new ViewModel(tmpData);
}
private ViewModel(ObservableCollection<TData> Data)
{
this.Data = Data;
}
}