C# 事件会破坏函数的结果

C# 事件会破坏函数的结果,c#,events,tapi,C#,Events,Tapi,各位程序员好 我正在为管理TAPI库的C#编写一个程序。我不会给出代码(除非有人请求),因为它有一个名为Softone的软件的命令,并且与业务相关。我面临的问题如下: 我想举个例子,当一个调用来执行一个函数时。 很简单。因此,我设置了事件handle并调用了函数,但当它运行时,它给我提到的程序(Softone)的结果是错误的。无论是手动执行还是以任何其他方式执行相同的函数,都会给出正确的结果。我尝试禁用事件处理程序,执行函数,然后重新激活事件处理程序。但这也是一次失败 我想要的是另一种防止事件伪

各位程序员好

我正在为管理TAPI库的C#编写一个程序。我不会给出代码(除非有人请求),因为它有一个名为Softone的软件的命令,并且与业务相关。我面临的问题如下:

我想举个例子,当一个调用来执行一个函数时。 很简单。因此,我设置了事件handle并调用了函数,但当它运行时,它给我提到的程序(Softone)的结果是错误的。无论是手动执行还是以任何其他方式执行相同的函数,都会给出正确的结果。我尝试禁用事件处理程序,执行函数,然后重新激活事件处理程序。但这也是一次失败

我想要的是另一种防止事件伪造函数数据的方法。你有什么建议吗

我是初学者,请理解我的意思。谢谢:)


正如FelixCastor所建议的,我检查了我正在调用的函数正在运行的线程,但没有在同一个线程上运行。我在代码中所做的更改非常小

我在代码部分声明了调度程序,我知道它将由主线程执行

 public static Dispatcher dispatcher = Dispatcher.CurrentDispatcher;
dispatcher.BeginInvoke(new InvokeDelegate(ActionOffering));
我这样做是因为,根据调度程序将在声明的线程上“运行”。因此,如果我想在主线程上运行函数,我必须在那里声明它。然后我编写了这行简单的代码,强制ActionProvising函数在dispatcher(主)线程上运行


事件是否从另一个线程触发?如果是这样的话,您可能需要切换回主线程。最好在那里放一些经过审查的代码,这样我们就可以看到发生了什么。非常感谢您的快速回复。我将在一分钟后发布代码。我也会检查线程的建议
dispatcher.BeginInvoke(new InvokeDelegate(ActionOffering));