class="sentence" data-guid="2b34c7c39600664d1472472985991c82" data-source="Extension methods are defined as static methods but are called by using instance method syntax.">扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。 仅当你使用 using 指令将命名空间显式导入到源代码中之后,扩展方法才位于范围中。
说明扩展方法必须为静态(static),且第一个参数是this,后面为类型
实例:
public static void Write(this object s) { HttpContext.Current.Response.Write(s); }
因为参数这里用的是this object,说明只要属于object类型的都可以用:如:("这个会输出").Write(); (123).Write(); 这两个一个是string 一个是int,但都属于object类型所以两个都可以输出。