Gre*_*ech 11
设计模式只是众所周知的范例,即"当你想要实现X,做Y"时.面向对象语言(如C#)中众所周知的范例是"当您想要对对象的状态进行操作时,在其实例上调用方法".
但是,在创建扩展方法之前,您无法在无法添加实现的对象实例上调用自己的方法(例如,接口因为它们不能有实现,或者因为它们已经被编译而没有库类).扩展方法通过允许您在对象的实例上创建看似可调用的方法,同时在对象的实现外部定义,填充此间隙.
所以是的,可以说扩展方法基于这种非常简单的设计模式,使得对象状态的方法看起来可以从它的实例中调用.