こんにちは。MLBお兄さんこと松村です。
Microsoft Ignite 終わっちゃいましたね。あまり見ることができなかったので Book of News で確認したいところです。
.NET Core を使って開発を行うときに「この関数ってどういう処理してるんだろう?」と調べたくなるときがあります。拡張メソッドが気になることが多いですね。
そんなときは GitHub の https://github.com/dotnet あたりで調べるとソースコードを見つけることができますが、大変といえば大変なので https://source.dot.net をオススメします。
できることはシンプルで、調べたいクラス名やメソッド名を検索すれば、その実装を見ることができます。
例えば ASP.NET Core の Web ホストで Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder
を実行します。
using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });
実際に CreateDefaultBuilder
メソッドでどのような処理が行われているか調べてみます。
https://source.dot.net/#q=CreateDefaultBuilder
検索結果から、コードを見たい結果を選択すると実際の処理を見ることができます。
更には、コードの中の変数やクラスを選択することで、そのコードを更に追うことができます。まるで Visual Studio を操作しているような感覚ですね。
なおこのソースブラウザは GitHub でソースコードが公開されています。 Roslyn を使っているようですね。
github.com