扩展方法只是为了使您的代码看起来更好而添加的语法糖。唯一需要记住的是,它们实际上是静态类的静态成员,而不是扩展的类型上的方法。就性能而言,通过反射调用它们与调用任何其他静态方法没有区别。 static class MyExtensions { public static void Foo(this int i) { // do something } } var methodInfo = typeof(MyExtensions).GetMethod("Foo"); methodInfo.Invoke(null, new object[] { 1 });