JToken.FromObject 在非空对象上
JToken.FromObject on notnull object
我有以下扩展方法:
public static T FromJson<T>(JToken json) where T : notnull => json.ToObject<T>();
正在升级到最新 Json.NET 我现在得到:
Possible null reference return.
考虑到模板限制,忽略此错误是否安全?那就是我可以像这样添加感叹号吗?
public static T FromJson<T>(JToken json) where T : notnull => json.ToObject<T>()!;
正如@dbc 在上面的评论中指出的那样,即使 T
受到 notnull
的约束,json.ToObject<T>()
仍然可以 return null
我最终得到:
public static T FromJson<T>(JToken json) where T : notnull => json.ToObject<T>() ?? throw new ArgumentException(typeof(T).ToString());
我有以下扩展方法:
public static T FromJson<T>(JToken json) where T : notnull => json.ToObject<T>();
正在升级到最新 Json.NET 我现在得到:
Possible null reference return.
考虑到模板限制,忽略此错误是否安全?那就是我可以像这样添加感叹号吗?
public static T FromJson<T>(JToken json) where T : notnull => json.ToObject<T>()!;
正如@dbc 在上面的评论中指出的那样,即使 T
受到 notnull
json.ToObject<T>()
仍然可以 return null
我最终得到:
public static T FromJson<T>(JToken json) where T : notnull => json.ToObject<T>() ?? throw new ArgumentException(typeof(T).ToString());