Pergunta

Eu suponho que poderia haver razões históricas para esta nomeação e que outras línguas têm características semelhantes, mas também me parece que os parâmetros sempre tinha um nome em C #. Argumentos são os únicos sem nome. Ou há uma razão específica para que esta terminologia foi escolhido?

Foi útil?

Solução

Sim, você está absolutamente certo (a meu ver, de qualquer maneira). Ironicamente, embora eu geralmente sou exigente sobre estes termos, eu ainda uso "passagem de parâmetros" quando eu provavelmente deveria falar sobre "argumento passando". Acho que pode-se argumentar que, antes de C # 4.0, se você está chamando um método que você não se preocupam com os nomes de parâmetro, enquanto que os nomes tornam-se parte dos metadados significativa quando você pode especificá-los nos argumentos bem.

Eu concordo que ele faz a diferença, e que a terminologia é importante.

"Parâmetros Opcionais" é definitivamente bem embora - que é a adição de metadados para o parâmetro quando você não poderia fazê-lo antes :) (Dito isto, não vai ser opcional em termos de IL gerado ...)

Você gostaria que eu a perguntar a equipe para o seu feedback?

Outras dicas

Oh, você queria argumentos ! Desculpe, esta é parâmetros - argumentos são duas portas no final do corredor à esquerda

.

Eu não penso assim. Os nomes são bastante definitivamente os nomes dos parâmetros, como eles são definidos e dado um específico significado na definição do método, onde são chamados corretamente os parâmetros para o método. No site da chamada, os argumentos agora podem ser marcadas com o nome do parâmetro que fornecer um valor para.

O novo termo refere-se à perspectiva do chamador método - o que é lógico, porque é aí que o recurso se aplica. Anteriormente, os chamadores só tinha de pensar em parâmetros como sendo "parâmetros posicionados". Agora eles podem, opcionalmente, tratá-los como "parâmetros nomeados." - daí o nome

Eu não sei se vale a pena adicioná-lo agora, mas MS chama de argumentos nomeados de qualquer maneira. Consulte href="http://msdn.microsoft.com/en-us/library/dd264739%28v=vs.100%29.aspx" nomeados e argumentos opcionais

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top