2026-09-05 blazoraspnetcoredotnet-11 Blazor のレンダーモードとは何か、どれが自分のコンポーネントを実行しているのか レンダーモードは Razor コンポーネントがどこで実行され、インタラクティブになるかどうかを決めます。.NET 11 の 4 つのモード、コンポーネントが何を継承するかを決める伝播ルール、そして実行時にどのモードが適用されたかを教えてくれる RendererInfo と AssignedRenderMode を解説します。
2026-09-05 ef-coredotnet-11csharp EF Core のインターセプターとは何か、どんなときに必要か EF Core のインターセプターは、コマンドの実行や SaveChanges といった操作の前後で EF が呼び出すクラスで、観察するだけでなく操作を変更したり抑制したりできます。EF Core 11 の 7 つのインターセプトポイント、登録とライフタイムの規則、そしてクエリフィルターやログ出力のほうが適している場面をまとめます。
2026-09-01 migrationxunitxunit-v3 テストプロジェクトを xUnit v2 から xUnit v3 に移行する (2.9.3 から 4.0.0 へ) xunit 2.9.3 から xunit.v3 4.0.0 への段階的な移行手順です。パッケージの入れ替え、OutputType を Exe にする変更、ValueTask を返す IAsyncLifetime、Xunit.Abstractions の廃止、そして何も一致しなくなったことを黙って隠す CI のフィルター構文を扱います。
2026-09-01 comparisoncsharpcsharp-14 C# のリポジトリメソッドで Task を直接返す vs async/await でパススルーする: どちらを使うべきか リポジトリのパススルーメソッドで async/await を省略すると約 6 ns と 72 バイトを節約できますが、スタックフレーム、try/catch のセマンティクス、安全なリソース破棄を失います。計測済みのホットパス上の純粋なパススルーでない限り、return await を残してください。
2026-08-29 errorsdotnetcsharp Fix: CA1070 "Do not declare event fields as virtual" CA1070 はフィールドライクイベントに virtual が付いていると発生します。virtual を外して非仮想のままにし、派生クラスには protected virtual な OnXxx を override させてください。
2026-08-28 migrationdotnetnuget Directory.Packages.props で .NET ソリューションを Central Package Management に移行する すべてのパッケージバージョンを csproj から 1 つの Directory.Packages.props へ移します。競合するバージョンを本物の semver 順序で統合する生成スクリプト、何が動いたかを証明する移行前後の依存関係グラフ差分、NU1008/NU1010/NU1013/NU1507、推移的ピン留め、GlobalPackageReference、VersionOverride、そしてネストした Directory.Packages.props がルートのものを黙って覆い隠す理由を解説します。
2026-08-27 dotnetcsharpaspnetcore Blazor コンポーネントで見出しレベル (h1-h6) を実行時に決めてレンダリングする方法 Razor にはタグ名を変数にする構文がなく、DynamicComponent はコンポーネント型しかレンダリングできません。BuildRenderTree をオーバーライドして builder.OpenElement(0, $"h{level}") を呼び出します。属性の受け渡し、タグ名を DOM に渡す前に範囲制限すべき理由、レベルを変えると @key を付けても要素が DOM から作り直される理由、カスケード値による自動レベル付けまで解説します。
2026-08-23 csharplinqdotnet C# で IEnumerable<T> がすでにマテリアライズ済みかどうかを判定する方法 IEnumerable<T> に HasBeenEnumerated フラグはありません。TryGetNonEnumeratedCount が実際に何を調べているのか、なぜ Enumerable.Range が ICollection<T> のテストを通過するのか、そして無駄な ToList() を避けるガードを解説します。
2026-08-23 how-tocsharpcsharp-14 C# 14 ですべての enum 型に適用される静的拡張メンバーを書く方法 struct, Enum 制約を付けたジェネリックな extension ブロックを宣言すれば、ソリューション内のすべての enum に Status.Values、Status.Count、Status.Parse が生えます。レシーバーの形、CS0704 と CS0428 の罠、そして Enum.GetValues をキャッシュすべき理由。
2026-08-23 ef-corelinqcsharp EF Core が Where、Select、OrderBy で変換できる再利用可能な LINQ 述語の書き方 bool を返すヘルパーメソッドは "could not be translated" を投げますが、Expression<Func<T, bool>> は投げません。LINQKit なしで EF Core 11 の式ツリーを合成、入れ子、再利用する方法を、各ケースの実際の SQL 付きで解説します。