.net中的emit

时间:2023-03-09 17:07:58
.net中的emit

 

.net中的emit



.net中的emit命名空间是system.reflection.emit。可见,emit是作为反射的一个比较高级的功能。

反射允许我们在运行时获取对象的相关信息,并执行对象。(创建对象的实例,执行方法)。

但是emit允许我们动态的创建一些元数据。

使用emit,可以从零开始动态的创建程序集,类。提供程序的灵活性。有了emit,我们可以用其来实现一些比较经典的功能。

  • 动态代理
  • 减少反射的性能损失
  • orm的实现
  • 工具及ide插件的开发

emit的性能比反射要高些。