Geo*_*uer 3 .net c# reflection
我想在.NET中使用反射来访问调用我的方法的对象.我认为以某种方式可以查看堆栈跟踪.我知道由于各种原因它并不安全,但我只需要抓取并编目一些属性值.
我该怎么做呢?
更新:我是个白痴,我忘了说这是在C#
var methodInfo = new StackFrame(1).GetMethod();
Run Code Online (Sandbox Code Playgroud)
返回调用当前方法的方法.
请注意,编译器可能内联或以其他方式优化对方法的调用(尽管听起来可能不是您的情况),这会阻止预期的行为.为安全起见,请使用以下方法装饰您的方法:
[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]
Run Code Online (Sandbox Code Playgroud)
请注意,这与允许编译器完成其工作相反.买者自负.
编辑哎呀,我看到你想要调用你的方法的实例.没有办法获得这些信息.