扩展方法的一个有趣现象
2008-08-05 15:51 JimLiu 阅读(355) 评论(0) 编辑 收藏 举报扩展方法是.NET 3.0的新特性之一,编译器通过一些伪装使得一个静态方法“看起来”像实例方法,这样会让一些代码显得更优雅和方便。
但面具终究是面具,在一定的场合下,就可以看出扩展方法的“本来面目”了。
一个引用为null的对象在调用实例方法的时候是会引发NullReferenceException的,但是当对一个引用为null的对象调用扩展方法的时候却不会(当然,前提是这个扩展方法内的代码不会因为这个对象引用为null而引发异常),这种情况下,就会看穿扩展方法其实就是一个静态方法的本来面目了。