我正在尝试创建一个GameOption
类,它将包含三个(实际上是四个)值:
选项名称作为字符串
作为T的选项
默认值为Nullable
这是我班上的样子:
public class GameOption<T> {
private T v;
private string n;
private T? def;
public string Name { get => this.n; }
public T Value { get => this.v; }
public GameOption(T o, string name, T? def) {
this.n = name;
this.v = o;
}
public void ChangeValue(T o) {
this.v = o;
}
}
但是有一个问题。 VS表示T不能为空:
类型T必须是不可为空的值类型,才能在通用类型或方法Nullable中将其用作参数“ T”
如何确保T不为空?
是否有类似class X<@NotNull T>
之类的东西?
答案 0 :(得分:5)