2026-06-21 csharpdotnetcsharp-15 C# 15 の閉じたクラス階層: .NET 11 Preview 5 の closed キーワード .NET 11 Preview 5 で C# 15 は closed 修飾子を追加し、クラス階層に switch 式でのコンパイル時の網羅性をもたらします。その仕組みと唯一の注意点を解説します。
2026-06-21 csharpdotnetdotnet-11 ASP.NET Core 11 で JWT 保護された API の CORS を設定する方法 ASP.NET Core 11 における bearer トークン API の CORS 完全ガイド。認証に対する UseCors の正しい順序、Authorization ヘッダーの bearer トークンが CORS の資格情報ではない理由、AllowAnyHeader は機能するのに手書きのワイルドカードが Authorization を含めない理由、そして preflight を失敗させない方法を解説します。
2026-06-21 dotnetefcorecsharp EF Core 11 で多対多リレーションシップにシードデータを投入する方法 EF Core 11 で多対多リレーションシップの結合テーブルにシードデータを投入する方法: 自分で名前を付ける必要がある暗黙のシャドウキー、UsingEntity と HasData のパターン、そしてスキップナビゲーションで動作する実行時の UseSeeding 代替手段。
2026-06-21 dotnetefcorecsharp EF Core 11 で UseSeeding と UseAsyncSeeding を使ってデータをシードする方法 EF Core 11 で UseSeeding と UseAsyncSeeding を使って参照データを正しくシードします。どこで設定するか、いつ実行されるか、省略できない冪等性チェック、そしてなぜ両方を実装する必要があるのかを解説します。
2026-06-20 dotnetmsbuildmcp Binlog MCP サーバーで AI が MSBuild のログを読めるようになります Microsoft は 2026-06-17 に Microsoft.AITools.BinlogMcp を公開しました。Claude や Copilot が .binlog ファイルから直接ビルド失敗や遅い target を診断できる 15 個のツールを公開する MCP サーバーです。
2026-06-20 csharpdotnetperformance C# の Span<T> とは何か、そしてどんなときに実際にコードを速くするのか? Span<T> はスタック上にのみ存在する ref struct で、すでに自分が所有しているメモリを指すため、裏付けとなるアロケーションを持ちません。コードが速くなるのは正確に 3 つの状況だけです: ヒープのバッファを stackalloc に置き換える、コピーせずにスライスする、JIT が境界チェックを除去するタイトなループ。それ以外の場所では何も変わらず、await をまたぐとコンパイルできません。
2026-06-20 dotnettrimmingnative-aot DynamicallyAccessedMembers 属性とは何ですか? DynamicallyAccessedMembers は、リフレクションで到達する Type のメンバーを .NET トリマーと AOT コンパイラーに伝え、トリミングで削除される代わりに保持させます。これにより、サイレントなランタイムの MissingMethodException が、ビルド時の IL2070 警告に変わります。この属性が何をするのか、その背後にあるデータフロー解析がどのように動くのか、そしてパラメーター、フィールド、ジェネリック型パラメーターを正しく注釈する方法を解説します。
2026-06-20 csharpdotnetasync ValueTask<T> とは何か、そしていつ使う価値があるのか ValueTask と ValueTask<T> は、同期的に完了する場合に Task をヒープ割り当てせずに非同期メソッドが結果を返せるようにする構造体です。利点は、待機せずに完了することが多いホットパスで割り当てが 1 つ減ることです。代償は厳格な await-once 契約です。この型が実際に何であるか、どう動作するか、そしてその価値を発揮する狭い範囲のケースを解説します。
2026-06-19 csharpdotnetdotnet-11 ソースジェネレーターとは何か、いつ必要になるのか? C# のソースジェネレーターについてのわかりやすいガイドです。実際に何をするのか、IIncrementalGenerator のパイプラインがどう動くのか、リフレクションや T4 より優れるのはどんなときか、そして使うべきでないケースまで解説します。.NET 11 と C# 14 で動く例つきです。
2026-06-19 csharpdotnetdotnet-11 IAsyncEnumerable<T> とは何か、いつ使うべきか IAsyncEnumerable<T> は非同期ストリームのためのインターフェースです。要素が時間とともに到着し、それぞれの生成に await が必要になり得るシーケンスです。それが実際に何であるか、await foreach と yield がどう駆動するか、そして Task<List<T>> ではなくこれを選ぶ基準を解説します。