为什么没有可空泛型方法?它接受引用和值类型

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 类型是有意义的。因为通常它们不可为空。

但是所有引用类型都可以为空。似乎实际上是要稍微更改该规则,而不是隐式地使所有引用类型都不可为空(如值类型)。