可能重复:
ArgumentNullException or NullReferenceException from extension method?
所以,我知道扩展方法只是静态辅助方法的语法糖,所以你可以愉快地(?)在null对象上调用它们,并且不会自动获得NullReferenceException。
我的问题是,作为Extension方法的设计者,您是否应该在扩展方法中手动抛出NullReferenceException - 以便它像本机方法一样尽可能地运行。或者你应该做一些更传统的事情并抛出ArgumentNullException?
我想这是一个风格问题,我可能更喜欢后一种选择,但是想知道在使扩展方法看起来像本机方法时,人们认为你应该走多远。