Почему не разрешено присваивать значение null DateTime в С#? Как это было реализовано? И можно ли использовать эту функцию, чтобы сделать ваши собственные классы не-nullable?
Пример:
string stringTest = null; // Okay
DateTime dateTimeTest = null; // Compile error
Я знаю, что я могу использовать DateTime?
в С# 2.0, чтобы позволить null присваиваться dateTimeTest и что я мог бы использовать Jon Skeet NonNullable class в моей строке, чтобы получить ошибку времени выполнения для назначения stringTest. Мне просто интересно, почему два типа ведут себя по-другому.