【发布时间】:2018-03-04 04:14:24
【问题描述】:
我创建了一个泛型类:
public class Pair<L, R>
{
public L? left;
public R? right;
// some code
}
我想为泛型类型使用可空变量。编译器报错:
该类型必须是不可为空的值类型才能将其用作 泛型类型或方法“System.Nullable”中的参数“T”
在这种情况下,克服这个错误的正确结构应该是什么?谢谢。
【问题讨论】:
-
您希望仅对此类使用值类型还是同时使用值类型和引用类型?
-
旁注:不要使用公共字段,将它们设为属性。并且一定要阅读不可变的,你的 Pair 应该是这样设计的。
-
当然,我使用字段。最初,它们是私人的。我在这里公开公众只是为了削减代码并尽可能简洁地说明问题。解决方案不取决于它们是私有的还是公共的。
标签: c#