。NET框架中的状态机

问题描述 投票:0回答:1

我与一些同事进行了讨论,对讨论感到困惑。所有人都说.NET框架每次编译后都会在称为“状态机”的状态中存储IL代码。但是据我所知,我不认为每次State Machine编译后都会出现。我在Google上进行了很多搜索,但没有找到了解State Machine概念的任何正当理由。是真的,当我们编译代码时,.Net框架总是将IL代码存储到“状态机”中吗?

请帮助。

c# .net state-machine .net-framework-version
1个回答
0
投票

IL代码不是并非总是被构造为状态机。具体而言,对于yieldasyncawait公开的异步语义,生成了构造为状态机is的代码。除此之外,不会生成状态机,也不需要。但是,如果您对状态机进行编码,则假设优化不会更改所生成的IL代码的基础布局,则生成的IL代码很可能类似于状态机。

© www.soinside.com 2019 - 2024. All rights reserved.