c# - 非空对象上的 JToken.FromObject
问题描述
我有以下扩展方法:
public static T FromJson<T>(JToken json) where T : notnull => json.ToObject<T>();
升级到最新的 Json.NET 我现在得到:
可能的空引用返回。
考虑到模板限制,这个错误可以忽略吗?那就是我可以像这样添加感叹号吗?
public static T FromJson<T>(JToken json) where T : notnull => json.ToObject<T>()!;
解决方案
正如@dbc 在上面的评论中指出的那样,json.ToObject<T>()
即使T
是约束到,仍然可以返回 nullnotnull
我最终得到:
public static T FromJson<T>(JToken json) where T : notnull => json.ToObject<T>() ?? throw new ArgumentException(typeof(T).ToString());
推荐阅读
- postgresql - Creating a Postgres tablepsace on Mac on an external harddisk
- symfony - FosElastica 6 config problem with ElasticSearch 7.5 under Symfony 4.4
- arrays - Maximize AND on a sequence of XORs
- python - 隐藏工作表或有效隐藏 Excel 选项卡的 Pandas to_excel?
- python - Python:如何在每天的温度值之间迭代以创建每天的 json 温度数组?
- python - 自定义标记化规则 spacy
- cmake - 为什么 cmake 函数参数的值是文字?
- hl7-fhir - 基于扩展值的切片
- reactjs - 反应 HOC 包装器
- node.js - AWS Amplify 中的 NodeJS API 访问被拒绝