C#4.0命名参数 - 在调用非Framework方法时是否应始终使用它们?

时间:2010-05-05 08:46:52

标签: c#-4.0 named-parameters

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

当调用不构成.NET BCL命名参数一部分的方法时,应始终使用方法签名可能会改变,特别是在我自己的应用程序的开发周期中。

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

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

1 个答案:

答案 0 :(得分:3)

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

在许多情况下,方法名称的含义非常明确 - 特别是如果只有几个参数。为什么还要加上这个名字呢?为什么名称可能会改变这一事实呢?

我建议使用命名参数:

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

换句话说,没有命名参数的频率会导致你在C#4之前产生混淆?在我的情况下,它肯定是非零的次数 - 上面的情况发生 - 但它不是经常妨碍我的方式。可选参数使得方法(或特别是构造函数)具有潜在的许多参数更合理,并且这导致命名参数更有用(并且如果要指定已跳过先前的“迟”可选参数,则确实是必要的)。