Я выполняю процесс преобразования моих проектов .Net 4.8 (не Core!) В новую функцию C # 8 «обнуляемая ссылка».
Для этого я изменяю каждый файл исходного кодав свою очередь, добавив #nullable enable
и украсив все пустые ссылки суффиксом ?
. Это позволяет мне постепенно преобразовывать весь мой код для использования новой функции.
Теперь рассмотрим следующий метод в исходном файле с указанным #nullable enable
:
#nullable enable
[CanBeNull] public static string Test([CanBeNull] string arg)
{
return arg;
}
Если явведите '?'после любого из объявлений string
(для использования новой функции N # Nullable) в C # 8 Resharper удаляет атрибут [CanBeNull]
:
public static string? Test(string? arg)
{
return arg;
}
Однако, если этот атрибут удален, Resharper делаетне предупреждать меня о возможном использовании нулевой ссылки в других исходных файлах. (Это не будет проблемой, если в всех исходных файлах было указано #nullable enable
, но поскольку я конвертирую файлы по частям, есть много файлов, для которых еще не указан #nullable enable
,поэтому компилятор не предупредит меня о возможном использовании нулевой ссылки - и Resharper тоже не будет, потому что [CanBeNull]
был удален.)
Поэтому мой вопрос таков:
Есть ли способ остановить Resharper от удаления атрибута [CanBeNull]
, когда я набираю ?
в конце имени ссылочного типа?
Я искал все параметры Resharper, но у меня нетНе удалось найти один для этого.