gpt4 book ai didi

c# - 是否可以在 C# 调用堆栈中删除或插入帧?

转载 作者:行者123 更新时间:2023-11-30 20:08:13 24 4
gpt4 key购买 nike

使用 StackTrace 我可以获得堆栈帧。我的问题是是否可以在 C# 中操作调用堆栈?更具体地说:是否可能...

  • 将帧插入调用堆栈?或者

  • 从中删除一个框架?

最佳答案

堆栈是程序运行时的一个非常内部的组件。有能力改变它就可以:

  • 跳转几乎不受限制。这被认为是一种非常糟糕的编程习惯,即使在 PHP 中也是不可能的。调试这样的东西会一团糟。
  • 在方法返回时注入(inject)代码。这可能很有用,但已经包含在面向方面的工具中,例如 PostSharpSpring.NET,它们允许您以干净且可预测的方式执行此操作。它们涵盖的案例远不止方法返回。

因此,我认为没有任何编程语言可以让您显式地操作堆栈。它会使事情变得非常困惑,并且它可能产生的任何好处都已经包含在面向方面的编程中。我敢打赌,AOP 将使您能够实现您想要的。

关于c# - 是否可以在 C# 调用堆栈中删除或插入帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7299503/

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