反编译问题

时间:2014-04-22 10:56:00

标签: c# .net reflector

我是新来的,所以请耐心等待:)。

任务: 我已经反编译了非常古老的应用程序,用于鼠标点击和触摸。我使用.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)
     }

(我已将 传递 标记为编译器选定的错误)

请说明出了什么问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

因为您的变量pass没有分配值。

您可以通过为您的变量分配null来解决此问题。

bool? pass = null;