C# 8 необнуляемых ссылок и неявное использование - PullRequest
1 голос
/ 28 января 2020

В Resharper и Rider есть атрибуты Jetbrains.Annotations, которые можно применять к типам и полям, которые используются неявно.

Например, если вы определяете какой-либо контракт данных / DTO, вы можете декорировать что с [UsedImplicitly] и Resharper будет знать, что не помечать это поле как неиспользуемое.

Но в C# 8. если вы используете функцию Nullable Ref Types. Любое необнуляемое поле такого типа будет помечено как «Никогда не инициализировано», если вы явно не установите для этих полей ненулевые значения.

Есть ли способ сообщить компилятору C # 8, что «эй, проигнорируйте это, просто поверьте мне на это "?

например. Предположим, у нас есть сообщение с запросом, подобное этому, возможно, оно передано конечной точке ASP. NET или подобному.

class LoginRequest
{
    public string UserName {get; set;}
}

Компилятор будет жаловаться, что имя пользователя никогда не инициализируется, а не потому, что оно инициализируется веб-клиентом. например, приложение SPA.

Как правильно подавить такое предупреждение?

1 Ответ

4 голосов
/ 28 января 2020

Вы можете использовать #nullable disable в контексте.

...