Рассматривать все типы во внешней dll как обнуляемые с C# Обнуляемыми ссылочными типами - PullRequest
0 голосов
/ 20 февраля 2020

Я использую C# ссылочные типы Nullable в моем проекте, и у меня есть ссылка на некоторые другие библиотеки DLL, которые не поддерживают ссылочные типы Nullable.

Могу ли я как-то сказать компилятору, что все свойства во внешней DLL могут быть нулевыми ? По умолчанию компилятор показывает все как не нуль.

1 Ответ

0 голосов
/ 25 апреля 2020

Значения из аннотированного кода рассматриваются как «забывчивые», то есть их обнуляемость неизвестна. Анализ для таких значений ведет себя так же, как и до появления функции NRT.

Вам не нужно отключать обнуляемый контекст для кода, который использует эту библиотеку. Вы просто не поймете, где в ваш код могут попадать значения NULL и где значения NULL могут быть неправильно переданы этому внешнему коду.

В идеале вы должны получить аннотированную версию сборки. Если у него достаточно маленькая площадь поверхности, вы можете предоставить свою собственную аннотированную прокладку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...