代码之家  ›  专栏  ›  技术社区  ›  Srinivas Reddy Thatiparthy

关于扩展方法

  •  0
  • Srinivas Reddy Thatiparthy  · 技术社区  · 14 年前

    我需要经常扔吗 ArgumentNullException 当对空值调用扩展方法时?(中的扩展方法 Enumerable ArgumentNullException 我想澄清一下。如果答案是“是”和“否”,请同时出示这两个案例。

    2 回复  |  直到 12 年前
        1
  •  5
  •   Adam Robinson    14 年前

    如果你的论点是 null 你不支持这种情况。如果这不是问题,就不需要抛出异常。有人会想到 如果是空参数, this 争论将是一个不可支持的条件,但决不是这样。 总是 案件。

    在扩展方法中,引发此异常(以及进行空检查)的需求与传统方法没有区别。

        2
  •  2
  •   SWeko    14 年前

    我见过这种方法,通常被定义为扩展方法:

    public static bool IsNull(this object item)
    {
        return item == null;
    }
    

    用得像:

    object o = null;
    if (o.IsNull())
      return;
    

    因此,在这种特殊情况下,如果参数为空,则抛出是没有意义的。扩展方法与其他方法没有区别,只是语法更复杂。