API として非同期メソッドしか提供されていない場合、それを同期メソッドとして扱う方法です。
GUI アプリなどでは処理を止めるのは基本的に NG ですが、コンソールアプリとかだと同期メソッドで良いということはよくあります。
例えば、.NET Core だと HttpClient
クラスの GetStreamAsync
メソッドは非同期で、同期メソッドはありません。
これを同期メソッドとして扱いたい場合は Result
プロパティを使用します。
HttpClient client = new HttpClient();
var result = client.GetStreamAsync(requestUrl).Result;
戻り値がないメソッド、例えば、Task.Delay
などは Wait
メソッドで同じことができます。
Task.Delay(1000).Wait();