2026-06-24 how-tocsharpcsharp-14 C# 14 で拡張プロパティを宣言する方法 拡張プロパティは新しい extension ブロックを通じて C# 14 で導入されます。読み取り専用、書き込み可能、静的、ジェネリックな拡張プロパティの宣言方法、自動プロパティが拒否される理由、そしてコンパイラーがそれらを get_/set_ アクセサーへ変換する仕組みを解説します。
2026-06-23 dotnetdotnet-11 .NET 11 Preview 5 で file-based app が `#:ref` を使って互いを参照できるようになりました .NET 11 Preview 5 は #:ref ディレクティブを追加し、dotnet run スクリプトが別の file-based app をライブラリとして参照できるようにします。推移的な参照に対応し、プロジェクトファイルは不要です。
2026-06-23 how-toef-coreef-core-11 EF Core 11 でキーセット (カーソル) ページネーションを実装する方法 Skip/Take を、最後に見た行の先までシークする WHERE 句に置き換えます。完全に一意なキーで並べ替え、最後の行の値をカーソルとして引き継げば、EF Core 11 は次のページを OFFSET スキャンではなくインデックスシークに変えてくれます。
2026-06-23 how-toef-coreef-core-11 EF Core 11 で JSON カラムをマッピングしてクエリする方法 ComplexProperty(...).ToJson() でネストした型を単一の JSON カラムにマッピングし、EF Core 11 に SQL Server 2025 のネイティブ json データ型で保存させ、JSON_VALUE・JSON_CONTAINS・JSON_PATH_EXISTS に変換される LINQ でクエリします。
2026-06-23 csharpdotnetdotnet-11 .NET 11 の依存性注入でキー付きサービスを登録して解決する方法 AddKeyedSingleton/Scoped/Transient で同じサービス型の複数の実装をキーの下に登録し、[FromKeyedServices]、GetRequiredKeyedService、または KeyedService.AnyKey で解決します。キー付きとキーなしの登録は別々のテーブルであり、それがほぼ全員が引っかかる落とし穴です。
2026-06-22 csharpdotnetdotnet-11 ASP.NET Core 11 で JWT の発行者、対象者、有効期限を検証する方法 ASP.NET Core 11 における TokenValidationParameters の完全ガイド: ValidateIssuer、ValidateAudience、ValidateLifetime の動作、実際のデフォルト値、なぜ Authority が発行者と署名キーを自動構成するのか、5 分間の ClockSkew の罠、そして一見有効なトークンが拒否されたときに IDX エラーコードを読む方法を解説します。
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-20 dotnettrimmingnative-aot DynamicallyAccessedMembers 属性とは何ですか? DynamicallyAccessedMembers は、リフレクションで到達する Type のメンバーを .NET トリマーと AOT コンパイラーに伝え、トリミングで削除される代わりに保持させます。これにより、サイレントなランタイムの MissingMethodException が、ビルド時の IL2070 警告に変わります。この属性が何をするのか、その背後にあるデータフロー解析がどのように動くのか、そしてパラメーター、フィールド、ジェネリック型パラメーターを正しく注釈する方法を解説します。
2026-06-20 csharpdotnetasync ValueTask<T> とは何か、そしていつ使う価値があるのか ValueTask と ValueTask<T> は、同期的に完了する場合に Task をヒープ割り当てせずに非同期メソッドが結果を返せるようにする構造体です。利点は、待機せずに完了することが多いホットパスで割り当てが 1 つ減ることです。代償は厳格な await-once 契約です。この型が実際に何であるか、どう動作するか、そしてその価値を発揮する狭い範囲のケースを解説します。