猿问
我可以使用反射来检查方法中的代码吗?
我可以使用反射来检查方法中的代码吗?
我正在玩C#反射API。我可以轻松地
Type
在程序集中加载类,方法等信息,但是,现在我想知道如何加载和读取方法中的代码?
慕勒3428872
浏览 435
回答 3
3回答
胡子哥哥
基本答案:你不能用反射API(System.Reflection)。原因是反射api被设计用于元数据(类的类型,名称和方法的签名,......),但不在数据级别(这将是IL流本身)上。扩展答案:您可以使用System.Reflection.Emit(例如ILGenerator Class)发出(但不读取)IL。通过MethodInfo.GetMethodBody()您可以获得用于实现方法的二进制IL流。但那通常完全没用。您可以使用外部库(如Cecil)来读取/修改/添加/删除方法中的代码。
0
0
0
随时随地看视频
慕课网APP
相关分类
C#
typedef入门问题
1 回答
我要回答