c# - 扩展方法与反射(reflection)

标签 c# .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 });

关于c# - 扩展方法与反射(reflection),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16918609/

相关文章:

c# - 为什么 'readonly' 在下面的 Singleton 实现中必不可少?

c# - 需要为最大日期值构建表达式树

java - C#/Java 套接字连接丢失?

c# - 如何在 C# 中将 List<string> 转换为 ReadOnlyCollection<string>

c# - 方法必须有返回类型 (C#)

ForEach 中的 c# 静态成员

c# - 如何使用 StreamReader 读取非常大的文本文件?

c# - 如何隐藏有关缺少列详细信息的行的 TreeListView 错误消息?

c# - 将字典属性作为对象访问

asp.net - 操作可能会破坏 ASP.NET 运行时的稳定性