我在工程 中用到了一部分反编译过来的代码~!
但是因为那些代码在编译过程中索引器的原因,
编译后的代码都成了base.get_Response().Redirect("");
DataSet.get_Tables().get_Item(0).get_Rows().get_Count();
样子,
请问除了一个个改回原样子,,还有别的办法让这些代码编译通过吗》?
求大侠指点~!

解决方案 »

  1.   

    不会出现这个情况吧,你用的是Reflector.exe吗?另外你可以使用批量替换掉.get_
      

  2.   

    查找替换,
    用Dreamweaver的查找替换,它支持正则表达式,
    查找:
    base\.get_Response\(\)\.Redirect\(\"(.*)\"\)
    替换成:
    this.Response.Redirect("$1")查找:
    (.+)\.get_Tables\(\)\.get_Item\((\d+)\)\.get_Rows\(\)\.get_Count\(\)
    替换成:
    $1.Tables["$2"].Rows.Count楼主是用什么软件反编译的?
      

  3.   

    to :lidong6(立冬) 
    我用的是Reflector.exe,,会有这种情况的,,我自己写了一个简单的测试工程再反编译一下,,也会出现类似情况,,你用什么工具来做的不会出现这种情况吗?to : dolfen(海之豚) 
    我对正则表达示不是很熟,好像VS2003的查找支持正则表达式,只是不知道替换时有用吗~!
    我去试试你的写的这几个表达示,,能留下你的联系方法吗,,QQ或MSN之类的,还有几个表达式可能还要请教你~@
      

  4.   

    用Reflector确实会这样的,当碰上索引器的时候。最快的方法当然是正则表达式,如果不行就考虑普通的查找替换吧,只要查找部分做的得聪明一些还是可以大量快速处理的。
      

  5.   

    我用的Reflector.exe,可能是我没注意过.那只能用批量替换了 ,很快,很方便.
      

  6.   

    在VS中使用查找替换的RE(Regular Expression 正则表达式)
    查找:
    base\.get_Response\(\)\.Redirect\(\"{.*}\"\)
    替换成:
    this.Response.Redirect("\1")查找:
    {.+}\.get_Tables\(\)\.get_Item\({\d+}\)\.get_Rows\(\)\.get_Count\(\)
    替换成:
    \1.Tables[\2].Rows.CountVS的RE语法跟标准的RE语法有点不一样,它扩展的功能也强很多,具体的用法请看帮助:
    ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/vsintro7/html/vxgrfRegularExpressionsS.htm--------------------------------
    我的QQ:42704668
    请写验证信息:csdn.net
    共同学习
    共同进步
    ^_^