Я пытаюсь создать класс GameOption
, который будет содержать три (реально четыре) значения:
Вот так выглядит мой класс:
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;
}
}
Но есть проблема. T не может быть Nullable, как VS говорит:
Тип T должен быть ненулевым типом значения, чтобы использовать его в качестве параметра 'T' в универсальном типе или методе Nullable
Как мне убедиться, что T не Nullable?
Есть что-то вроде class X<@NotNull T>
или что?