代表们如何改进应用程序的性能?

the*_*van 5 c# asp.net delegates

我是代表们的新概念.我已经知道它类似于C++中的指针.在其优势中,它提到了代表的有效使用提高了性能.

考虑到它是一个指针.它如何改善应用程序的性能?

如果有人能用一个简单的例子解释这一点,那将会有所帮助.

Mar*_*ell 4

委托并不直接提高性能——它们是关于抽象调用。用C++术语来说,它确实就像一个方法指针。

委托的大多数用途与性能无关。让我们从一开始就明确这一点。

然而,它可以用来帮助提高性能的一个主要时间是它允许元编程等场景。代码(通常是库代码)可以根据运行时的配置信息构建复杂的行为链,然后通过 、ExpressionTypeBuilderDynamicMethod或基本上任何允许您构建 IL 的 API)将该信息编译到方法中。但要调用此类动态生成的方法,您需要一个委托 - 因为从 C# 编译的静态 IL 无法引用当时不存在的方法。

请注意,执行此操作的另一种方法是TypeBuilder创建(在运行时)从子类继承或实现已知接口的新类型,然后创建动态生成类型的实例,该实例可以转换为预期的 API以通常的方式并正常调用。