![](/img/trans.png)
[英]The type 'T1' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'System.Nullable<T>'
[英]The type must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'System.Nullable<T>'
我創建一個通用類:
public class Pair<L, R>
{
public L? left;
public R? right;
// some code
}
我想在那里為通用類型使用可空變量。 編譯器給出錯誤:
該類型必須是非空值類型,才能在通用類型或方法“ System.Nullable”中用作參數“ T”
在這種情況下,克服該錯誤的正確構造應該是什么? 謝謝。
您可以將它們約束為值類型:
public class Pair<L, R>
where L: struct
where R: struct
但這不允許引用類型(類),尚不清楚這是否是您想要的。
當L和R是引用類型時,您不需要?
編寫一個允許兩者都使用的通用對要困難得多。 我不確定是否可以直接完成。 也許在C#8中。
否則,您將需要一些圍繞成員的包裝器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.