Обложка канала

.NET Разработчик

Опытный разработчик не так давно зашёл в .Net и поставил цель получить сертификат Microsoft. Свой ежедневный прогресс он описывает на канале .Net Разработчик. Заметки об изученном материале, советы по повышению производительности и поддержке мотивации, ин

.NET Разработчик

5 лет назад
Открыть в
День 1075. #ЧтоНовенького В C #10 появился новый атрибут CallerArgumentExpression. Он позволяет записывать выражение, переданное в качестве параметра, в виде строки (см. рисунок). Как и другие атрибуты CompilerServices, он применяется к необязательному параметру. Кстати, его использует новый метод
ArgumentNullException.ThrowIfNull(nullArg);
в .NET без явной передачи имени. Если раньше нам нужно было писать что-то подобное:
public bool DoSomething(string id, string name)
{
  if (id is null)
    throw new ArgumentNullException(nameof(id));
  if (name is null)
    throw new ArgumentNullException(nameof(id));
  // ...
}

Теперь новый метод позволяет писать более чистый код:
public bool DoSomething(string id, string name)
{
  ArgumentNullException.ThrowIfNull(id);
  ArgumentNullException.ThrowIfNull(name);
  // ...
}

Источник: twitter.com/Nick_Cr…49448459