我的朋友给了我一个用于控制台应用程序的.exe文件。通过一些试用软件,我得到了该文件的代码。 该文件夹的名称是ConsoleApplication2。我制作了文件并粘贴在它下面。
现在当我尝试调试时,我得到了像
这样的错误..System.Data.DataRow
'System.Data.DataRow.ItemArray.get': cannot explicitly call operator or accessor
'System.Data.DataRow.this[int].get': cannot explicitly call operator or accessor
'System.Data.DataRowCollection.this[int].get': cannot explicitly call operator or accessor
许多行。
table2.Rows.Add(row.get_ItemArray());
if (table2.Rows.get_Count() != 0)
这是两个行的例子。我认为这条线是正确的。我刚刚在错误的类别下复制代码时犯了一些错误。忘了换任何东西???
请你帮帮我。
答案 0 :(得分:5)
您正试图使用"隐藏"来读取property的值。存取方法。这是不允许的。您应该改为引用属性值,如下所示:
table2.Rows.Add(row.ItemArray);
if (table2.Rows.Count != 0)
答案 1 :(得分:3)
这是你的代码还是你从反编译器那里得到的?
get_ItemArray是编译器生成的方法....
尝试删除get_并设置_
选择程序集,然后单击“文件 - >保存代码”,将其导出到项目中。
但是,为什么你不能得到源代码?这是你的代码吗?它是您试图不为定制支付的产品吗?
答案 2 :(得分:1)
I dont have the original code. I had the exe, i got it from a decompiler.
从RedGate下载Reflector并安装Denis Bauer's File Dissasembler插件。
将EXE加载到Reflector>单击File Dissasemlber按钮将EXE反编译回带有项目和源文件的解决方案。