Обычно я создаю статические вспомогательные методы ...
Например:
public static void CheckNotNull(object value, string parameterName)
{
if(value == null) { throw new ArgumentNullException(parameterName); }
}
Означает, что вы можете сжать ваш код до чего-то похожего на приведенное ниже и просто сделать его немного более аккуратным.
CheckNotNull(username, "username");
CheckNotNull(password, "password");
Или вы можете обернуть его как метод расширения:
public static void CheckNotNull<T>(this T value, string parameterName)
{
if(value == null) { throw new ArgumentNullException(parameterName); }
}
И использовать как:
username.CheckNotNull("username");
password.CheckNotNull("password");
И если вы чувствуете себя действительно модно, вывозможно, может запросить имена параметров с помощью отражения.Отражение довольно медленное, поэтому вы могли бы сделать это только в том случае, если вы собираетесь выдать исключение, но это избавит вас от необходимости постоянно вводить буквальное имя параметра.