0

我的朋友给了我一个控制台应用程序的 .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)

这是线条的两个示例。我认为这条线是正确的。我刚刚犯了一些错误,例如在错误的类别下复制了代码。忘了改什么???

请你帮帮我。

4

3 回答 3

5

您正在尝试使用其“隐藏”访问器方法读取属性的值。这是不允许的。您应该像这样引用属性值:

table2.Rows.Add(row.ItemArray);
if (table2.Rows.Count != 0)
于 2013-03-16T02:41:26.830 回答
3

那是你的代码还是你从某个反编译器那里得到的?

get_ItemArray 是编译器生成的方法....

尝试删除 get_ 和 set_


您可以使用 ILSpy(http://sourceforge.net/projects/sharpdevelop/files/ILSpy/2.0/ILSpy_Master_2.1.0.1603_RTW_Binaries.zip/download) “保存代码”

选择程序集并单击“文件->保存代码”,将其导出到项目中。

但是,为什么你不能得到源代码?是你的代码吗?它是您试图不为定制付费的产品吗?

于 2013-03-16T02:40:24.510 回答
1
I dont have the original code. I had the exe, i got it from a decompiler. 

从 RedGate下载Reflector并安装Denis Bauer 的 File Dissasembler插件。

将 EXE 加载到 Reflector > 单击 File Dissasemlber 按钮将 EXE 反编译回包含项目和源文件的解决方案。

于 2013-03-16T04:02:13.230 回答