Col*_*tie 8 c# disassembly async-await .net-core dnspy
我正在尝试使用最新版本的 dnSpy 反汇编我的 .NET core 3.1 二进制文件,但得到的输出如下:
原来的方法:
public async Task<List<FirmwarePackage>> CalculatePackagesDeltaAsync(List<FirmwarePackage> firmwarePackages) {
var packagesToUpdate = await GetPackageDifferences(firmwarePackages);
// sort packages
// "version-update" packages should be updated last, with "mez" being last
packagesToUpdate = packagesToUpdate
.OrderBy(x => x.TargetType)
.ThenBy(x => x.Name)
.ToList();
packagesToUpdate.RemoveAll(x => x.Name == "version-update");
var versionPkgs = firmwarePackages
.Where(x => x.Name == "version-update")
.OrderBy(x => x.TargetType);
packagesToUpdate.AddRange(versionPkgs);
return packagesToUpdate;
}
Run Code Online (Sandbox Code Playgroud)
这是正常的吗?我怎样才能把它变成更容易理解的东西。尝试调试这是一场噩梦。
在 github 存储库上,该issues
资源不可用,这就是我在这里询问的原因。
你在那里看到的一切是完全正常的。您所裁剪的只是生成代码的一部分。
突出显示的代码保存局部变量(作为状态机的字段)以保留其状态。
代码生成非常复杂,因为有几个用例以不同的方式处理。但一般的想法在以下文章中写得很好:
Stephen Toub 撰写了一篇博客文章,其中揭示了 .NET 团队在 .NET 5 中完成的一些优化。
归档时间: |
|
查看次数: |
4084 次 |
最近记录: |