`

VB.net 跟 C# 的代码转换

阅读更多
最近要把一个用C#写的组件修改为VB.net的,由于以前对VB不是很熟悉,在修改的时候,发现很多的对应写法都要查,没有对照表,查起来就非常费事,咨询了一下思归,问有没有VB.net 跟 C# 对应语法的关系表,思归反馈下面的地址:

http://www.harding.edu/USER/fmccown/WWW/vbnet_csharp_comparison.html

VB.NET and C# Comparison

考虑到那个页面打开比较慢,我把它同时收藏到我的文章里面:连接在:

http://blog.joycode.com/ghj/posts/15091.aspx

一些C#代码 与 VB.net 代码的转换的工具可以看以下地址:

http://authors.aspalliance.com/aldotnet/examples/translate.aspx
http://www.kamalpatel.net/ConvertCSharp2VB.aspx
http://www.ragingsmurf.com/vbcsharpconverter.aspx
http://w1.311.telia.com/~u31115556/desc/programs.htm
http://expert.csdn.net/Expert/topic/1645/1645967.xml

我试用了这几个转换器,个人感觉第一个http://authors.aspalliance.com/aldotnet/examples/translate.aspx?是这几个里面最好的。

我的实验是把一个分页组件从C#代码修改为VB.net代码,这个分页组件可以看:
http://www.microsoft.com/china/msdn/archives/library/dnaspp/html/PagerControls.asp

C#代码转换为VB.net代码后,我稍作修改,就可以用了。我做的修改主要是以下几个地方:

1、VB.net 中类、枚举默认不是Public 的,转换的时候可能有问题。

2、事件触发代码不一样。比如如下代码:
C#如下写:
protected virtual void OnClick(EventArgs e)
{
if (Click != null)
{
Click(this, e);
}
}
VB.net 如下写:
Protected Overridable Sub OnClick(e As EventArgs)
RaiseEvent Click(Me, e)
End Sub
3、转换后属性信息会放错地方。如果有注释的话,会错误的放到注释前面。

如果需要从C#代码转换为VB代码的,强烈建议这个工具,一般的代码,转换后就可以运行,复杂的代码,稍稍修改,就可以了。强烈推荐。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics