Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

フレームワークのソースを確認できる .NET Core Source Browser

こんにちは。MLBお兄さんこと松村です。
Microsoft Ignite 終わっちゃいましたね。あまり見ることができなかったので Book of News で確認したいところです。


.NET Core を使って開発を行うときに「この関数ってどういう処理してるんだろう?」と調べたくなるときがあります。拡張メソッドが気になることが多いですね。

そんなときは GitHub の https://github.com/dotnet あたりで調べるとソースコードを見つけることができますが、大変といえば大変なので https://source.dot.net をオススメします。

source.dot.net

f:id:tech-tsubaki:20200927064054p:plain

できることはシンプルで、調べたいクラス名やメソッド名を検索すれば、その実装を見ることができます。

例えば 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

f:id:tech-tsubaki:20200927064121p:plain

検索結果から、コードを見たい結果を選択すると実際の処理を見ることができます。

f:id:tech-tsubaki:20200927064131p:plain

更には、コードの中の変数やクラスを選択することで、そのコードを更に追うことができます。まるで Visual Studio を操作しているような感覚ですね。


なおこのソースブラウザは GitHub でソースコードが公開されています。 Roslyn を使っているようですね。
github.com