类型&#39; MyObject&#39;必须是不可为空的值类型才能将其用作参数&#39; T&#39;通用类型或方法&#39; Nullable <t>&#39;

时间:2016-02-26 09:26:57

标签: c# generics

我正在使用.net framework 4.5

我收到以下错误

  

错误CS0453类型&#39; MyObject&#39;必须是不可为空的值类型才能将其用作参数&#39; T&#39;通用类型或方法&#39; Nullable&#39;

  public async Task<Nullable<MyObject>> MyMethod(string myParamter)
    {}

我也试过

  public async Task<MyObject?> MyMethod(string myParamter)
    {}

如果我将该东西设置为可空,那么为什么我会在方法名称下方的红线上显示此错误消息

stackoverflow answer很简单,使返回类型可以为空,但对我来说Visual Studio不允许它。

1 个答案:

答案 0 :(得分:23)

由于MyObject是一个对象,并且对象根据定义可以为空,因此无需使用Nullable<T>结构或?运算符来支持空值。

Nullable<T>适用于结构(如DateTime)和值类型,如intfloat等。