DevBetterCom / DevBetterCom/DevBetter.JsonExtensions
Fails to deserialise when type is a record
- 主要言語
- C#
- スター
- 4
- フォーク
- 1
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
```csharp
public record Config(
string test);
```
```csharp
var options = new JsonSerializerOptions()
.SetMissingMemberHandling(MissingMemberHandling.Error);
JsonSerializer.Deserialize("{\"test\":\"test\"}", options);
```
```
Unhandled exception. System.MissingMethodException: Cannot dynamically create an instance of type 'TestProject.Config'. Reason: No parameterless constructor defined.
```
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
ソースファイルもテストも指定されていません。まず SetMissingMemberHandling(MissingMemberHandling.Error) を使用した JsonSerializer.Deserialize の例を再現し、次に record の構築に至るデシリアライズのエントリポイントを追跡します。完了条件は、要求された欠落メンバーの動作を維持したまま、示された JSON から record が MissingMethodException なしでデシリアライズされることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- csharp
- 領域
- backend
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100