2016-02-26 64 views
5

我使用.net framework 4.5类型“为MyObject”必须是一个非空值类型,以便用它作为参数“T”在通用类型或方法“可为空<T>”

我得到以下错误

错误CS0453类型“为MyObject”必须是为了在通用类型或方法使用它作为参数“T”的非空值类型“可空”

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

我也试过

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

如果我设置的东西为可为空,那么为什么我会得到方法名下方的红线与此错误消息

的计算器answer容易,使返回类型可空但对我来说Visual Studio不允许它。

+0

什么是'MyObject'? –

+0

'Nullable'仅用于不可为空的值类型,以允许值类型允许为空。引用类型默认情况下允许空值。 –

+0

'公共类MyObject' – firste

回答

11

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

Nullable<T>对于结构(如DateTime)和值类型,如intfloat

相关问题