当try 反编译应用程序时,我得到一个矩形框.我不确定是否有办法解释这是什么.

 public void Add(MessageErrorCode errorCode);

 public void Add(SegmentErrorContext segmentContext);

 public void AddRange(IEnumerable<MessageErrorCode> errorCodes);

 public void AddRange(IEnumerable<SegmentErrorContext> segmentContexts);

 [IteratorStateMachine(typeof())]
 public IEnumerable<string> Flatten();

 public void Sort();

推荐答案

IteratorStateMachine属性由内部使用yield"iterator" methods的编译器添加到生成的IL机器码中.

您只需删除该属性即可使代码正常工作.

为了说明这一点,请看SharpLab gist:https://sharplab.io/#gist:fc2cc09bb9cf72774eb724d655613cbf

代码

using System;
using System.Collections.Generic;

public class C 
{
    public IEnumerable<int> M() 
    {
        yield return 0;
        yield return 1;
    }
}

被翻译成IL机器代码,如下所示:

[IteratorStateMachine(typeof(<M>d__0))]
public IEnumerable<int> M()
{
    <M>d__0 <M>d__ = new <M>d__0(-2);
    <M>d__.<>4__this = this;
    return <M>d__;
}

Csharp相关问答推荐

在命令行中使用时安装,但在单击时不会安装

为什么Blazor值在更改后没有立即呈现?

为什么总输出就像12.3没有一分一样?

try 在Blazor项目中生成html

如何在实体框架中添加包含列表?

使用泛型可空类实现接口

每个http请求需要60秒,为什么?

在IAsyncEnumerable上先调用,然后跳过(1)可以吗?

从VS调试器而不是测试资源管理器运行的调试NUnitDotNet测试

我可以查看我们向应用程序洞察发送了多少数据吗?

无法使用[FromForm]发送带有图像和JSON的多部分请求

我什么时候应该在Dapper中使用Connection.OpenAsync?

在C#ASP.NET内核中使用INT AS-1进行控制器场景的单元测试

MSI无法将快捷方式添加到启动文件夹

为什么C#/MSBuild会自发地为不同的项目使用不同的输出路径?

用于ASP.NET核心的最小扩展坞

当我手动停止和关闭系统并打开时,Windows服务未启动

Autofac -动态实例化:手动传递构造函数

Xamarin Forms应用程序中登录页面的用户名和密码编辑文本之间不需要的空格

在SQL中删除少于24小时的令牌