【发布时间】:2013-06-04 21:07:17
【问题描述】:
我是 .Net 的新手,并且正在使用扩展方法。我想知道如何通过反射调用扩展方法?会有性能影响吗?对此的任何指针都会很有用。
【问题讨论】:
我是 .Net 的新手,并且正在使用扩展方法。我想知道如何通过反射调用扩展方法?会有性能影响吗?对此的任何指针都会很有用。
【问题讨论】:
扩展方法只是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 });
【讨论】: