为了账号安全,请及时绑定邮箱和手机立即绑定

我可以使用反射来检查方法中的代码吗?

我可以使用反射来检查方法中的代码吗?

C#
慕勒3428872 2019-07-25 09:50:59
我可以使用反射来检查方法中的代码吗?我正在玩C#反射API。我可以轻松地Type在程序集中加载类,方法等信息,但是,现在我想知道如何加载和读取方法中的代码?
查看完整描述

3 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

基本答案:

你不能用反射API(System.Reflection)。

原因是反射api被设计用于元数据(类的类型,名称和方法的签名,......),但不在数据级别(这将是IL流本身)上。

扩展答案:

您可以使用System.Reflection.Emit(例如ILGenerator Class)发出(但不读取)IL。

通过MethodInfo.GetMethodBody()您可以获得用于实现方法的二进制IL流。但那通常完全没用。

您可以使用外部库(如Cecil)来读取/修改/添加/删除方法中的代码。


查看完整回答
反对 回复 2019-07-25
  • 3 回答
  • 0 关注
  • 434 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信