gpt4 book ai didi

c# - ThreadStart.BeginInvoke 在 Compact 框架上抛出 NotSupportedException

转载 作者:行者123 更新时间:2023-11-30 22:49:38 26 4
gpt4 key购买 nike

我在一个紧凑的框架项目中使用线程,代码如下所示。当我尝试进入 StartThreads() 时,会抛出 NotSupportedException。这似乎有点奇怪,为什么在调用 StartThreads() 的行上抛出异常而不是在内部抛出异常,CF 不支持的是什么?我认为它是 ThreadStart.BeginInvoke 但这不是实际抛出异常的地方。

void SomeMethod()
{
this.StartThreads(); // <- NotSupportedException is thrown here, I can't step into this method with the debugger
}

void StartThreads()
{
ThreadStart threadStart = BeginDoStuff;
threadStart.BeginInvoke(EndDoStuff, null);
}

最佳答案

CF 和 ThreadPool 不支持 BeginInvoke 机制。

您没有在预期的位置看到异常的原因是它的实现方式。我不太确定细节,但 BeginInvoke 不是(委托(delegate)类的)普通方法,而是在运行时注入(inject)的东西(只是猜测最后一部分)。

当 JIT 编译器开始处理 StartThreads 方法时发生错误。

关于c# - ThreadStart.BeginInvoke 在 Compact 框架上抛出 NotSupportedException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1062930/

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