一段 Lambda 反编译后的代码,帮忙改成能运行。

Mister 2019-10-30 01:50:01
网上查了一下,说是 Lambda 表达式,反编译器没有正确处理。
我不知道如何改正,譬如:“<>c__DisplayClassc.mobile = mobile”查找 Protocol0x0900 类型,根本没有这个 mobile 成员。


private void SendFlowDeviceStatus(string mobile, long qs01channel, JT808TerminalInfo terminal, JT808TerminalClient thisTerminalClient)
{
Protocol0x0900.<>c__DisplayClassc <>c__DisplayClassc = new Protocol0x0900.<>c__DisplayClassc();
<>c__DisplayClassc.mobile = mobile;
<>c__DisplayClassc.thisTerminalClient = thisTerminalClient;
<>c__DisplayClassc.<>4__this = this;
byte[] channeldata = BitConverter.GetBytes(qs01channel);
bool firstsend = true;
int waittime = 0;
int i;
for (i = 0; i < 8; i++)
{
byte chan = channeldata[i];
if (chan >= 1)
{
if (firstsend)
{
this.SendFlowDeviceStatusToTerminal(<>c__DisplayClassc.mobile, i, <>c__DisplayClassc.thisTerminalClient);
firstsend = true;
}
else
{
waittime += 2;
TimeoutChecker TC = new TimeoutChecker(delegate
{
<>c__DisplayClassc.<>4__this.SendFlowDeviceStatusToTerminal(<>c__DisplayClassc.mobile, i, <>c__DisplayClassc.thisTerminalClient);
}, (double)waittime);
ThreadPool.QueueUserWorkItem(new WaitCallback(this.waiting), TC);
}
}
}
}
...全文
390 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 2019-10-30
  • 打赏
  • 举报
回复
引用 11 楼 Mister 的回复:
网上说... 没看到我描述吗?mobile 当然没有,这是反编译程序处理不正确! 你这后生仔,还是太年轻,喜欢杠。 [quote=引用 10 楼 正怒月神 的回复:] [quote=引用 8 楼 Mister 的回复:] 说明你还是不懂,死鸭子嘴硬,语法问题,需要看上下文吗?我问的就是语法问题。 我之前受网上误导,说是 Lamdba 表达式,没有正确反编译的结果。 现在我已分析出来了,就是个 C# 匿名类。
lambda是你说的,mobile没有也是你说的。语法问题还是你说的。 行吧。你去玩,不送[/quote][/quote] 你说什么就是什么吧。 你开心就好
Mister 2019-10-30
  • 打赏
  • 举报
回复
网上说... 没看到我描述吗?mobile 当然没有,这是反编译程序处理不正确!
你这后生仔,还是太年轻,喜欢杠。

引用 10 楼 正怒月神 的回复:
[quote=引用 8 楼 Mister 的回复:]
说明你还是不懂,死鸭子嘴硬,语法问题,需要看上下文吗?我问的就是语法问题。

我之前受网上误导,说是 Lamdba 表达式,没有正确反编译的结果。
现在我已分析出来了,就是个 C# 匿名类。

lambda是你说的,mobile没有也是你说的。语法问题还是你说的。
行吧。你去玩,不送[/quote]
正怒月神 2019-10-30
  • 打赏
  • 举报
回复
引用 8 楼 Mister 的回复:
说明你还是不懂,死鸭子嘴硬,语法问题,需要看上下文吗?我问的就是语法问题。 我之前受网上误导,说是 Lamdba 表达式,没有正确反编译的结果。 现在我已分析出来了,就是个 C# 匿名类。
lambda是你说的,mobile没有也是你说的。语法问题还是你说的。 行吧。你去玩,不送
Mister 2019-10-30
  • 打赏
  • 举报
回复
别瞎回复。

引用 4 楼 YBcsdn1996 的回复:
有个东西叫做sql server profiler
Mister 2019-10-30
  • 打赏
  • 举报
回复
说明你还是不懂,死鸭子嘴硬,语法问题,需要看上下文吗?我问的就是语法问题。

我之前受网上误导,说是 Lamdba 表达式,没有正确反编译的结果。
现在我已分析出来了,就是个 C# 匿名类。

引用 7 楼 正怒月神 的回复:
[quote=引用 6 楼 Mister 的回复:]
[quote=引用 1 楼 正怒月神 的回复:]
你只要找到 Protocol0x0900.<>c__DisplayClassc
JT808TerminalInfo
JT808TerminalClient
这三个类,应该就能知道了吧。


我要的是还原为可通过编译的代码。
[/quote]


引用 5 楼 Mister 的回复:
[quote=引用 2 楼 正怒月神 的回复:]
你原来的Lambda呢,拿出来看一下

有还用发帖吗?我反编译,分析人家的代码。[/quote]

你有见过截取一个方法,就能运行的代码吗?
当中的对象,和他调用的其他方法。你一并拿出来反编译啊。
不然谁救得了你?[/quote]
正怒月神 2019-10-30
  • 打赏
  • 举报
回复
引用 6 楼 Mister 的回复:
[quote=引用 1 楼 正怒月神 的回复:] 你只要找到 Protocol0x0900.<>c__DisplayClassc JT808TerminalInfo JT808TerminalClient 这三个类,应该就能知道了吧。
我要的是还原为可通过编译的代码。 [/quote]
引用 5 楼 Mister 的回复:
[quote=引用 2 楼 正怒月神 的回复:] 你原来的Lambda呢,拿出来看一下
有还用发帖吗?我反编译,分析人家的代码。[/quote] 你有见过截取一个方法,就能运行的代码吗? 当中的对象,和他调用的其他方法。你一并拿出来反编译啊。 不然谁救得了你?
Mister 2019-10-30
  • 打赏
  • 举报
回复
引用 1 楼 正怒月神 的回复:
你只要找到 Protocol0x0900.<>c__DisplayClassc
JT808TerminalInfo
JT808TerminalClient
这三个类,应该就能知道了吧。


我要的是还原为可通过编译的代码。
Mister 2019-10-30
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
你原来的Lambda呢,拿出来看一下

有还用发帖吗?我反编译,分析人家的代码。
YBcsdn1996 2019-10-30
  • 打赏
  • 举报
回复
有个东西叫做sql server profiler
h1006343425 2019-10-30
  • 打赏
  • 举报
回复
过来学习一下
正怒月神 2019-10-30
  • 打赏
  • 举报
回复
你原来的Lambda呢,拿出来看一下
正怒月神 2019-10-30
  • 打赏
  • 举报
回复
你只要找到 Protocol0x0900.<>c__DisplayClassc JT808TerminalInfo JT808TerminalClient 这三个类,应该就能知道了吧。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧