В проекте MVC мы используем Unity's Guard.ArgumentNotNull для проверки нулевых параметров в конструкторе. Я думаю, что это довольно распространенная практика. Может ли кто-нибудь сказать мне, для чего нужен второй параметр - argumentName - в этом методе? Конечно, если компиляция проекта означает, что аргумент был правильно назван? Я попытался изменить это имя строки на что-то еще, и это не вызывает ошибки.Guard ArgumentNotNull - для параметра параметра argumentName?
Guard.ArgumentNotNull(userRoleProvider, "userRoleProvider");
Я думаю, что этот аргумент предназначен для внутреннего исключения, которое может быть выбрано в случае нулевого аргумента. – ckruczek
Возможно, вам захочется ознакомиться с предстоящей языковой функцией для C# 6, называемой 'nameof()' -, которая устраняет магическую строку. –