gpt4 book ai didi

c# - 查找需要 InvokeRequired 的方法

转载 作者:太空宇宙 更新时间:2023-11-03 22:27:09 24 4
gpt4 key购买 nike

我来找你是想看看是否有人知道如何解决我在迁移到 ActiveMQ 时遇到的问题。我在这个项目中使用 ActiveMQ 发送通知(在 C# 中),在完成实现后我发现了一些关于线程问题的错误。 (我知道该异常的解决方案是使用“if this.InvokeRequired ....等”,但我的问题是:

有没有办法找到所有需要调用的方法?

当然,我可以逐步检查通知触发的所有事件,但是,除了这会花费我太多时间之外,它不会解决我 future 的编程错误。

我想有更好的方法来解决这个问题,但我现在想不出。您以前遇到过这个问题吗?

非常感谢您的帮助

最佳答案

没有。没有自动的方法来执行此操作,除非您当然从一开始就设置了一个测试驱动的项目。在这种情况下,您可以添加一些条件来测试线程的正确性。

软件无法推断出您的意图,除非以非常具体的方式(例如 FxCop,以及 IDE 对某些事情的警告)。你写的不一定是你想写的。您实际上是在寻求能够理解您的意图的软件。

了解是否需要调用的唯一方法是了解任何给定函数运行的上下文。如果它在后台线程上运行,并且您正在调用需要在主线程上运行的代码(例如 GUI 代码),则需要调用。

你必须自己弄清楚。

关于c# - 查找需要 InvokeRequired 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/979644/

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