У меня есть следующий метод расширения:
public static void ThrowIfArgumentIsNull<T>(this T value, string argument)
where T : class
{
if (value == null)
{
throw new ArgumentNullException(argument);
}
}
и это пример его использования....
// Note: I've poorly named the argument, on purpose, for this question.
public void Save(Category qwerty)
{
qwerty.ThrowIfArgumentIsNull("qwerty");
....
}
работает на 100%.
Но мне не нравится, как я должен предоставить имя переменной, просто чтобы помочь моему сообщению об исключении.
Мне было интересно, можно ли реорганизовать метод расширения, поэтому его можно было бы назвать так...
qwerty.ThrowIfArgumentIsNull();
и он автоматически определяет, что имя переменной является "qwerty" и поэтому использует это как значение для аргумента ArgumentNullException.
Возможные? Я предполагаю, что размышление может это сделать?