【发布时间】:2014-04-22 10:55:59
【问题描述】:
我是新来的,所以请耐心等待:)
任务: 我已经反编译了非常旧的应用程序以采用它进行鼠标点击和触摸。我已经使用 .NET Reflector 8 进行反编译过程。在我在 VS2013 中打开解决方案并尝试调试应用程序后,我处理了以下错误:
“错误1使用未分配的局部变量'pass'Form1.cs”
代码如下: 第一个错误:
foreach (Software.dsBDD.list_table21 row in dataTable.Rows)
{
PictureBox box;
MemoryStream stream;
Panel panel;
Label label;
bool? pass;
if (this.pass.HasValue && this.end)
{
pass = this.pass;
}
if ((***pass***.GetValueOrDefault() && pass.HasValue) || row.view_only)
}
第二个错误:
Panel panel = sender as Panel;
if (panel.Controls.Count > 0)
{
bool? pass;
if (this.pass.HasValue && this.end)
{
pass = this.pass;
}
if ((***pass***.GetValueOrDefault() && pass.HasValue) || this.view_only)
}
(我已将编译器选择的错误标记为通过)
请提出问题所在。
谢谢!
【问题讨论】:
-
通行证左侧的星号表示其指向指针的指针,但其右侧的星号表示什么?
-
实际上并不能保证反编译的应用程序会再次编译为正确的可执行代码。
-
非常抱歉,这是我在这里的第一个问题。星号仅用于选择编译时出现错误的代码中的单词
-
@user3560075 我会非常小心。您可能已经解决了编译错误,但代码没有任何意义。
pass是一个局部变量和一个字段 - 你确定它正在做它现在应该做的事情吗?即使是这样,也要考虑重写它以使其清楚。这非常令人困惑,而且使用“隐藏”字段的变量名(或参数)通常是一种不好的做法。 -
i
ve compiled and tested application and it works! now, after i have source code i need to "teach" my app to respond to mouseclicks, rather than keyboard inputs... ill 尝试打开新问题 =)