VB.net 跟 C# 的代码转换
http://blog.joycode.com/ghj/archive/2004/03/07/15093.aspx
最近要把一个用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代码的,强烈建议这个工具,一般的代码,转换后就可以运行,复杂的代码,稍稍修改,就可以了。强烈推荐。
反馈
http://www.csdn.net/develop/Read_Article.asp?id=25324
下载了一个Vb.Net TO C# 的工具,用起来有时能转换有时转换不了,有好的
Vb.Net to csharp的工具吗
转换当然不可能都给你转换好。
转换了之后,自己再手工改改,就行了。
真正设及到功能性函数的东西好像都不能转,
不知有没有关于vb c#方面函数转换的资料..
public Icon Icon
{
get { return _icon; }
set
{if (_icon != value)
{OnPropertyChanging(Property.Icon);
_icon = value;
OnPropertyChanged(Property.Icon);
}
}
}
改成VB:正确不呢?
Public Property [Icon]() As Icon
Get
Return _icon
End Get
Set(ByVal Value As Icon)
If Not (_icon Is Value) Then
OnPropertyChanging([Property].Icon)
_icon = Value
OnPropertyChanged([Property].Icon)
End If
End Set
End Property
或者:
Public Property [Icon]() As Icon
Get
Return _icon
End Get
Set(ByVal Value As Icon)
If Not (_icon Is Value) Then
OnPropertyChanging([Property].Icon)
_icon = Value
OnPropertyChanged([Property].Icon)
End If
End Set
End Property
如下:
Public Property [Icon]() As Icon
Get
Return _icon
End Get
Set(ByVal Value As Icon)
If Not (_icon.Clone.Equals(Value)) Then
OnPropertyChanging([Property].Icon)
_icon = Value
OnPropertyChanged([Property].Icon)
End If
End Set
End Property
http://www.microsoft.com/china/msdn/archives/library/dnaspp/html/PagerControls.asp
来获得这个组件
http://www.e-iceblue.com
http://authors.aspalliance.com/aldotnet/examples/translate.aspx
# re: VB.net 跟 C# 的代码转换
2005-3-14 9:46 by zhangyang1319将VB.NET的代码转换为C#