2

我真的这是一个非常主观的话题,但这是我目前的看法:

当调用不属于 .NET BCL 命名参数的方法时,应始终使用方法签名,尤其是在我自己的应用程序的开发周期中。

尽管它们可能看起来更冗长,但它们也更清晰。

以上是调用方法的合理方法还是我忽略了一些基本的东西?

4

1 回答 1

3

个人认为,过分了。(我也相信将它们称为命名参数更正确和更清晰-参数总是有名称,因为这是声明的一部分。)

在许多情况下,方法名称的含义一目了然——尤其是在只有几个参数的情况下。为什么要加名字?为什么名称可能更改的事实会影响这一点?

我建议使用命名参数:

  • 当还使用可选参数时
  • 当有多个相同类型的参数时,它们可能会混淆(例如对话框的标题和内容文本)
  • 当您null用于争论时,不清楚它在做什么

换句话说,在 C# 4 之前,没有命名参数多久会引起您的困惑?就我而言,这肯定是非零次数——上述情况确实发生了——但这并不是我经常遇到的事情。可选参数使方法(或特别是构造函数)更合理地具有潜在的许多参数,这导致命名参数更有用(如果您想指定“迟到的”可选参数已跳过早期参数,这确实是必要的)。

于 2010-05-05T08:51:11.157 回答