gpt4 book ai didi

c# - 使用 C# 反射访问堆栈跟踪中的对象

转载 作者:行者123 更新时间:2023-11-30 13:52:54 26 4
gpt4 key购买 nike

我想在 .NET 中使用反射来访问调用我的方法的对象。我假设以某种方式可以查看堆栈跟踪。我知道出于各种原因它不安全,但我只需要获取和编目一些属性值。

我该怎么做?

更新:我是个白痴,我忘了说这是用C#写的

最佳答案

var methodInfo = new StackFrame(1).GetMethod();

返回调用当前方法的方法。

请注意,编译器可能会内联或以其他方式优化对方法的调用(尽管这听起来对您来说可能并非如此),这会阻碍预期的行为。为了安全起见,用以下方法装饰你的方法:

[MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)]

请注意,这与允许编译器完成其工作背道而驰。买者自负。

已编辑 糟糕,我看到您想要调用您的方法的实例。无法获取该信息。

关于c# - 使用 C# 反射访问堆栈跟踪中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1242730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com