2023-11-02 csharpdotnetdotnet-8 C# UnsafeAccessor で readonly フィールドを更新する方法 C# で UnsafeAccessor を使って readonly フィールドを更新する方法を解説します。リフレクションのパフォーマンスペナルティのない代替手段で、.NET 8 で利用できます。
2023-11-01 csharpdotnetdotnet-8 .NET 8 のパフォーマンス: UnsafeAccessor vs. リフレクション .NET 8 で UnsafeAccessor とリフレクションをベンチマーク。従来のリフレクションと比べて、UnsafeAccessor がいかにオーバーヘッドゼロのパフォーマンスを実現しているかを見ていきます。
2023-10-29 csharpdotnetdotnet-8 C# 機能を experimental としてマークする方法 C# 12 から、新しい ExperimentalAttribute を使って型、メソッド、プロパティ、アセンブリを experimental としてマークできるようになりました。diagnosticId、pragma タグ、UrlFormat と組み合わせた使い方を紹介します。
2023-10-28 csharpdotnet C# ref readonly パラメーター C# の ref readonly 修飾子は、読み取り専用の参照を渡すより透明性の高い方法を提供します。in 修飾子に対して、より厳しい制約と呼び出し側からの見えやすさをどう改善するかを解説します。
2023-10-26 csharpdotnetdotnet-8 C# 配列をシャッフルするには? C# で配列をシャッフルするいちばん簡単な方法は、.NET 8 で導入された Random.Shuffle を使うことです。配列にも Span にも、in-place で動作します。
2023-10-20 csharp C# NullReferenceException とは何で、どう直すか? C# で NullReferenceException が発生する原因、デバッグの仕方、null チェックや null 条件演算子、null 許容参照型を使った防止方法を解説します。
2023-10-19 csharpdotnetdotnet-8 既存の JsonSerializerOptions に TypeInfoResolver を追加・削除する .NET 8 で追加された TypeInfoResolverChain プロパティを使って、既存の JsonSerializerOptions に TypeInfoResolver を追加したり、そこから削除したりする方法を解説します。
2023-10-12 csharpdotnet C# 12 Interceptors .NET 8 のコンパイラーに導入された実験的機能、C# 12 の interceptors を解説します。InterceptsLocation 属性を使ってコンパイル時にメソッド呼び出しを差し替える方法を紹介します。
2023-09-28 csharpdotnet Implementation type Data.AppDbContext can't be converted to service type Microsoft.AspNetCore.Identity.IUserStore AppDbContext を IUserStore に変換できないという ASP.NET Core Identity のエラーを、identity の設定に AddEntityFrameworkStores を追加して解消する方法を解説します。
2023-09-25 csharpdotnetdotnet-8 .NET 8 インターフェース階層のプロパティをシリアライズする .NET 8 ではインターフェース階層からのプロパティのシリアライズに対応し、宣言された変数の型に応じて、階層内のすべてのインターフェースのすべてのプロパティを含められるようになりました。