Подтвердить что ты не робот

Атрибут NotNull

Я смотрю на asp.net vnext технический указатель и заметил, что они рекомендуют использовать атрибут NotNull вместо явной проверки входной аргумент для null и метания ArgumentNullException. То, что меня смутило, заключается в том, что база в этом руководстве достаточно, чтобы объявить этот атрибут, и код проверки будет сгенерирован во время компиляции в тело метода. Я попытался сделать это в своем тестовом проекте, однако волшебство не произошло, то есть оно выбрало исключение System.NullReferenceException вместо System.ArgumentNullException. Как это должно работать? Будут ли они использовать некоторую библиотеку AOP для ввода кода проверки во время компиляции?

4b9b3361

Ответ 1

Обновлено: 12 января 2016 г.

NotNullAttribute отсутствует. Команда ASP.NET удалила его, и в настоящее время нет плана вернуть его.


Атрибут будет заменен на этапе предварительной компиляции, используя Roslyn, по коду, который выполняет фактическую проверку.

Однако эта функция еще не готова. Он будет представлен в более поздней версии.