扩展方法和反射

时间:2013-06-04 13:03:49

标签: c# .net

我是.Net的新手,正在进行扩展方法。我想知道如何通过反射调用扩展方法?是否会对性能产生影响?任何指针都是有用的。

1 个答案:

答案 0 :(得分:1)

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

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

var methodInfo = typeof(MyExtensions).GetMethod("Foo");
methodInfo.Invoke(null, new object[] { 1 });