我正在阅读C# 5.0中的异步,编译器转换部分包含以下片段:
public Task<int> AlexsMethod()
{
<AlexsMethod>d__0 stateMachine = new <AlexsMethod>d__0();
stateMachine.<>4__this = this;
stateMachine.<>t__builder = AsyncTaskMethodBuilder<int>.Create();
stateMachine.<>1__state = -1;
stateMachine.<>t__builder.Start<<AlexsMethod>d__0>(ref stateMachine);
return stateMachine.<>t__builder.Task;
}
有两个符号对我来说是新的。第一个是<AlexsMethod>d__0
。第二个是stateMachine.<>4__this
。我怀疑这些符号只能由编译器使用,当我自己尝试时,它们都无效。但我很难搜索更多关于此符号意图的信息。
4__this
中的4
)都有隐含的意义。编辑:这是它的链接:https://dev59.com/pXE85IYBdhLWcg3w_I78 - Tim S.