gpt4 book ai didi

c# - 如何在 .NET 中调用父线程上的函数?

转载 作者:IT王子 更新时间:2023-10-29 04:25:55 24 4
gpt4 key购买 nike

我有一个 .NET 类库,其中包含一个类,该类的方法可以执行一些冗长的操作。当客户端调用此方法时,它应该在新线程上执行冗长的操作以避免阻塞调用者。但是一旦方法完成,它应该在主线程上执行一些代码。在 WinForms 应用程序中,我可以使用 System.Windows.Forms.Control.Invoke 方法,但这不是我的情况。那么如何在 C# 中实现这一点呢?

最佳答案

您可以使用 System.Windows.Threading.Dispatcher 对象(来自 WindowsBase 程序集)在特定线程上调用函数。

例如:

public class ClassCreatedBySomeThread
{
Dispatcher dispatcher = Dispatcher.CurrentDispatcher;

public void SafelyCallMeFromAnyThread(Action a)
{
dispatcher.Invoke(a);
}
}

关于c# - 如何在 .NET 中调用父线程上的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/269988/

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