VB.NET应用程序中的C#代码?

时间:2012-04-04 10:21:17

标签: c# .net vb.net visual-studio

我有一个使用 VB.NET 现在构建的应用程序

我需要在现有的 VB.NET 应用程序中添加一些 C#代码可能

6 个答案:

答案 0 :(得分:9)

为C#代码创建一个单独的项目。然后将对C#项目的引用放入VB.Net项目中。然后,您可以访问C#对象,就像它们是用VB.Net编写的那样

答案 1 :(得分:2)

没有。您需要在解决方案中创建一个单独的项目,并将代码放入其中。如果项目是类库,那么原始项目可以引用它并调用库例程。 如果做不到这一点,可以使用大量在线C#< - > VB.NET转换器。

答案 2 :(得分:2)

像其他人所说,你不能直接混合这两种语言,因为编译器只会理解它所编写的语言。因此,VB.NET编译器无法理解C#代码,除非MS创建一个扩展来执行此操作。这样的事情来自我的想象:) -

Dim v as int
%for(int i = 0; i < $v; ++i){}% 

答案 3 :(得分:2)

  

您不能在同一个项目中添加不同的语言,但您应该这样做   能够将两个项目添加到同一解决方案,并添加引用   从您的C#项目到VB项目或VB项目到C#项目,并使用他创建的类型    - 当然,只要他们是公开的。

遵循这种方法:
1)Create Multi-Project Solutions

2)在项目中添加CSharp项目的引用

然后,您可以创建这些类/表单等的对象,并访问您在CSharp项目中创建的方法:

Dim obj As New YourCSharpProject.SomeClass()
obj.UpdateData()

参考:Launch VB form from a C# form

答案 4 :(得分:1)

是的,只要它是一个单独的类/ page / webcontrol / usercontrol并且它被指定为C#。 Visual Studio不喜欢它,VS中的简单方法是在解决方案中设置一个新项目。

答案 5 :(得分:1)

如果它只是一个小C#代码,您可以先使用http://www.developerfusion.com/tools/convert/csharp-to-vb/之类的转换器将其转换为VB.NET,或者您可以手动转换它。

否则,如前所述,您必须将C#代码放在同一解决方案中的另一个项目中。然后,您可以在同一解决方案中从VB.NET代码中调用C#代码。