代码之家  ›  专栏  ›  技术社区  ›  David Neale

C 4.0命名参数-调用非框架方法时应该始终使用它们吗?

  •  2
  • David Neale  · 技术社区  · 16 年前

    我真的很主观,但我现在的观点是:

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

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

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

    1 回复  |  直到 16 年前
        1
  •  3
  •   Jon Skeet    16 年前

    我个人认为这太过分了。(我也相信叫他们名字更正确更清楚 论据 - 参数 一定要有名字,因为这是声明的一部分。)

    在许多情况下,方法名的含义是非常清楚的——特别是如果只有几个参数的话。为什么要费心加名字呢?为什么名字可能会改变会影响这一点?

    我建议使用命名参数:

    • 同时使用可选参数时
    • 当存在同一类型的多个参数时,因此它们可能会混淆(例如对话框的标题和内容文本)
    • 当你使用 null 为了一场争论,现在还不清楚它在做什么

    换言之,在C 4之前,没有命名的参数有多少次让你感到困惑?在我的情况下,这肯定是一个非零的次数-以上的情况 发生了-但这不是我经常遇到的事。可选参数使方法(或特别是构造函数)具有潜在的多个参数更加合理,这将导致命名参数更加有用(如果要指定跳过先前参数的“延迟”可选参数,则确实是必要的)。

    推荐文章