3

我是 .Net 的新手,并且正在使用扩展方法。我想知道如何通过反射调用扩展方法?会有性能影响吗?对此的任何指针都会很有用。

4

1 回答 1

1

扩展方法只是让你的代码看起来更好的语法糖。唯一要记住的是,它们实际上是静态类的静态成员,而不是它们扩展的类型的方法。性能方面,通过反射调用它们与调用任何其他静态方法没有什么不同。

static class MyExtensions
{
    public static void Foo(this int i)
    {
        // do something
    }
}

var methodInfo = typeof(MyExtensions).GetMethod("Foo");
methodInfo.Invoke(null, new object[] { 1 });
于 2013-06-04T13:07:17.990 回答