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代码的,强烈建议这个工具,一般的代码,转换后就可以运行,复杂的代码,稍稍修改,就可以了。强烈推荐。

 

反馈

# 回复: VB.net 跟 C# 的语法比较

2004-3-7 12:20 by JustinS
这个很有用啊

# 回复: VB.net 跟 C# 的代码转换

2004-3-7 18:01 by Zealot
VB.NET and C# 语法比较手册
http://www.csdn.net/develop/Read_Article.asp?id=25324

# 回复: VB.net 跟 C# 的代码转换

2004-3-7 18:07 by ghj1976
嘿嘿,没看到那个那就是我转贴的??

# 回复: VB.net 跟 C# 的代码转换

2004-3-7 21:08 by NetCobra
SharpDeveloper里面好像内置了C#转VB的功能,不知道转换效果如何。

# 回复: VB.net 跟 C# 的代码转换

2004-3-8 9:43 by Hover
在CodePrject
下载了一个Vb.Net TO C# 的工具,用起来有时能转换有时转换不了,有好的
Vb.Net to csharp的工具吗

# 回复: VB.net 跟 C# 的代码转换

2004-3-8 10:07 by ghj1976
VB 转 C# 的没用过,不好评价,

转换当然不可能都给你转换好。
转换了之后,自己再手工改改,就行了。

# 回复: VB.net 跟 C# 的代码转换

2004-6-3 8:23 by
转换的时候还有很多方法,函数都要转~``
头都大了,有什么方法能将函数也转换成相应的函数

# 回复: VB.net 跟 C# 的代码转换

2004-6-3 8:41 by ghj1976
完全意义上的全部转换是不可能的,你总要手工改的。

# 回复: VB.net 跟 C# 的代码转换

2004-6-3 9:55 by
一般的转换只是语法上转换,
真正设及到功能性函数的东西好像都不能转,
不知有没有关于vb c#方面函数转换的资料..

# 回复: VB.net 跟 C# 的代码转换

2004-6-8 13:35 by Rimbaud
类型比较呢?

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

# 回复: VB.net 跟 C# 的代码转换

2004-6-8 13:46 by Rimbadu
奇怪的是ICON本身没有EQUALS方法,当是它的CLONE却有EQUALS方法。不明白!·呀

如下:

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

# 回复: VB.net 跟 C# 的代码转换

2004-6-8 13:54 by Rimbaud
能不能到这里看一下:
http://www.cnblogs.com/rimbaud/archive/2004/06/08/14176.aspx

# 回复: VB.net 跟 C# 的代码转换

2004-7-15 13:21 by 小牛哥
你的分页控件的URL已经无法访问

微软制造了大量的404错误:(

# 回复: VB.net 跟 C# 的代码转换

2004-7-15 14:00 by ghj1976
那个分页组件被微软换了地方。你可以访问
http://www.microsoft.com/china/msdn/archives/library/dnaspp/html/PagerControls.asp

来获得这个组件

# re: VB.net 跟 C# 的代码转换

2004-9-1 11:50 by Hole
看看这个工具,可以免费下载阿。
http://www.e-iceblue.com

# re: VB.net 跟 C# 的代码转换

2005-3-3 10:31 by LCX
这个工具能不能下载,下载地址是什么????
http://authors.aspalliance.com/aldotnet/examples/translate.aspx

# re: VB.net 跟 C# 的代码转换

2005-3-14 9:46 by zhangyang1319
http://www.e-iceblue.com 是什么工具啊?怎么不能免费用啊?

# VB.net 跟 C# 的代码转换

2005-5-12 10:17 by xuesky
记得有一个页面可以把VB.NET转换成C#的,有谁记得网址?提醒一下,先谢谢了,以前在收藏夹里有,装系统后,丢失了,记得好像在自由软件的一个页面.

# re: VB.net 跟 C# 的代码转换

2005-5-15 20:20 by 小牛哥
http://www.developerfusion.com/utilities/convertvbtocsharp.aspx
将VB.NET的代码转换为C#

# re: VB.net 跟 C# 的代码转换

2005-8-16 16:23 by Chap
楼上的网址不错,谢谢!

# VB.net 跟 C# 的代码转换

2005-8-22 21:30 by 动性忍心
Ping Back来自:blog.csdn.net

转载于:https://www.cnblogs.com/signalsudio/archive/2005/10/28/264188.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值