Разве в C # 4.0 новую функцию «именованных параметров» нельзя назвать «именованными аргументами»?
-
08-07-2019 - |
Вопрос
Я полагаю, что для этого наименования могут быть исторические причины, и что другие языки имеют схожую функцию, но мне также кажется, что параметры всегда имеют имя в C #. Аргументы безымянные. Или есть конкретная причина, по которой была выбрана эта терминология?
Решение
Да, вы абсолютно правы (на мой взгляд, в любом случае). По иронии судьбы, хотя я обычно привередлив в этих терминах, я все еще использую «передачу параметров» когда мне, вероятно, следует поговорить о «передаче аргументов». Я полагаю, можно утверждать, что до C # 4.0, если вы вызываете метод, вам нет дела до имен параметров, тогда как имена становятся частью значимых метаданных, когда вы также можете указать их в аргументах. р>
Я согласен, что это имеет значение, и что важна терминология.
" Необязательные параметры " Хотя это определенно хорошо - это добавление метаданных к параметру, когда вы не могли этого сделать раньше :) (Сказав это, это не будет необязательным с точки зрения сгенерированного IL ...)
Хотите, чтобы я попросил команду высказать свое мнение?
Другие советы
О, вы хотели аргументы ! Извините, это параметры - аргументы - две двери внизу зала слева.
Я так не думаю. Имена вполне определенно являются именами параметров, так как они определены и имеют конкретное значение в определении метода, где они правильно называются параметрами метода. На сайте вызовов теперь можно пометить аргументы именем параметра, для которого они предоставляют значение.
Новый термин относится к перспективе вызывающего метода - что логично, потому что именно там применяется функция. Ранее вызывающим абонентам нужно было только думать о параметрах как о «позиционированных параметрах». Теперь они могут опционально обращаться с ними как с «именованными параметрами». - отсюда и название.
Я не знаю, стоит ли добавлять его сейчас, но MS все равно называет его именованные аргументы . См. именованные и необязательные аргументы р>