类型“MyObject”必须是不可为空的值类型,才能将其用作泛型类型或方法“Nullable”中的参数“T”
本文关键字:类型 泛型类型 参数 Nullable 方法 MyObject | 更新日期: 2023-09-27 18:36:30
我正在使用.net framework 4.5
我收到以下错误
错误 CS0453 类型"MyObject"必须是不可为空的值类型,才能将其用作泛型类型或方法"可为空"中的参数"T"
public async Task<Nullable<MyObject>> MyMethod(string myParamter)
{}
我也试过
public async Task<MyObject?> MyMethod(string myParamter)
{}
如果我将事情设置为可为空,那么为什么我会在方法名称下方看到带有此错误消息的红线
堆栈溢出答案很简单,使返回类型可为空,但对我来说,Visual Studio 不允许这样做。
由于MyObject
是一个对象,并且对象根据定义可为空,因此使用 Nullable<T>
结构或 ?
运算符来支持空值是没有用的。
Nullable<T>
用于结构(如DateTime
)和值类型,如int
、float
等。