现在的位置: 首页 > 综合 > 正文

VB.Net to C#实践

2013年08月17日 ⁄ 综合 ⁄ 共 1433字 ⁄ 字号 评论关闭

1.安装好任意能编译调试.net工程的工具,推荐两个免费的
a.SharpDevelop2,下载地址
  http://www.icsharpcode.net/OpenSource/SD/Download/
b.Visual Studio Express Editions,下载地址
  http://msdn.microsoft.com/vstudio/express/support/install/

2.保证.net1.1和.net2.0的runtime都安装了
a.net1.1 runtime下载地址
  http://www.microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=en
b.net2.0 runtime下载地址
  http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en

3.从http://www.vbconversions.net/download.html下载并安装vbtocs工具

4.用vbtocs转换:转换任何vb.net工程前,请保证该工程是已经在本机编译通过的,这样会提高转换的准确性

5.打开转换好的c#工程编译,排错

6.下面是对AutoCAD ObjectARX 2007/samples/dotNet中的vb.net工程转换成C#后的排错步骤——
  a.修改工程文件中cad的两个assembly(acdbmgd.dll、acmgd.dll)的路径
  b.取消掉所有类对audesk名字空间using的注释
  c.根据需要手工添加assembly: ExtensionApplication和assembly: CommandClass属性
  d.用Autodesk.AutoCAD.Runtime替换掉所有System.CLSCompliantAttribute.Autodesk.AutoCAD.Runtime或者  System.Type.Autodesk.AutoCAD.Runtime
  e.用Autodesk.AutoCAD.DatabaseServices.OpenMode替换掉所有的OpenMode
  f.编译按照提示改错误,主要有——
    .进行强制类型装换
    .对vb的byref一定要在调用的地方加上ref
    .对于bt.Item(BlockTableRecord.ModelSpace)形式的集合元素引用要改为bt[BlockTableRecord.ModelSpace]
    .由Exit Try转化而来的break要用return替换
    .C#是大小写敏感的
    .对System.EventHandler类型要用正确的事件类型替换,这里,可以利用对应函数实现部分的参数,例如,由     PromptSelectionResultEventArgs得到PromptSelectionResultEventHandler

                                                  howwan
                                                  2006-7-27 

抱歉!评论已关闭.