2016-02-26 66 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

相關問題