Добавлять where T : struct
общее ограничение, чтобы избавиться от ошибки с момента Nullable<T>
принимает только struct
.
public class MySuperCoolClass<T> where T : struct
{
public T? myMaybeNullField { get; set; }
}
Nullable<T>
определяется, как показано ниже
public struct Nullable<T> where T : struct
Итак, вы также вынуждены сделать это, просто чтобы не допустить MySuperCoolClass<object>
что делает object?
что недопустимо.