<分区>
我在一个非常大的代码库中工作,今天我发现一个项目在一个普通的 类
中发出 IL 代码
。
包含正在发出的 IL 代码的项目是 Service Locator
的实现 MSDN Desctiption .
与使用 C#
语言相比,这样做有什么好处?为什么要这样做?
<分区>
我在一个非常大的代码库中工作,今天我发现一个项目在一个普通的 类
中发出 IL 代码
。
包含正在发出的 IL 代码的项目是 Service Locator
的实现 MSDN Desctiption .
与使用 C#
语言相比,这样做有什么好处?为什么要这样做?
最佳答案
通常这样做是为了规避使用反射的开销,使用仅在运行时可用的信息。
然后您将使用反射(根据您的操作可能会很慢)来构建一段新代码,该代码直接处理给定的数据,而不使用反射。
优点:
缺点:
因此,在开始之前,您需要确保它真的物有所值。
请注意,这是一个一般的答案。在您遇到的特定情况下,如果不实际查看代码,就无法回答为什么这样做,也无法回答您会有哪些特定优势(或劣势)。
关于c# - 为什么需要发出 IL 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17946704/