为什么没有可空泛型方法?它接受引用和值类型
Why there's no Nullable-Generic Methods? which accept both references and value types
这有效
public static T? Read<T>(object value) where T : struct
{
return (T)Convert.ChangeType(value, typeof(T));
}
但这行不通:
Error CS8370 Feature 'nullable reference types' are not available in C# 7.3. Please use language version 8.0 or greater.
public static T? Read<T>(object value)
{
return (T)Convert.ChangeType(value, typeof(T));
}
我对搜索过但没有找到的错误或功能感到好奇。
如果不相关,我可能会删除这个问题。所以请通知我这样做。
只能使用 C# 8.0 添加可为空的引用类型。您正在使用 C# 7.3 进行构建。
但是,命名有点混乱。可为空的 structs/value 类型是有意义的。因为通常它们不可为空。
但是所有引用类型都可以为空。似乎实际上是要稍微更改该规则,而不是隐式地使所有引用类型都不可为空(如值类型)。
这有效
public static T? Read<T>(object value) where T : struct
{
return (T)Convert.ChangeType(value, typeof(T));
}
但这行不通:
Error CS8370 Feature 'nullable reference types' are not available in C# 7.3. Please use language version 8.0 or greater.
public static T? Read<T>(object value)
{
return (T)Convert.ChangeType(value, typeof(T));
}
我对搜索过但没有找到的错误或功能感到好奇。
如果不相关,我可能会删除这个问题。所以请通知我这样做。
只能使用 C# 8.0 添加可为空的引用类型。您正在使用 C# 7.3 进行构建。
但是,命名有点混乱。可为空的 structs/value 类型是有意义的。因为通常它们不可为空。
但是所有引用类型都可以为空。似乎实际上是要稍微更改该规则,而不是隐式地使所有引用类型都不可为空(如值类型)。