2

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

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

4

6 回答 6

9

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

于 2012-04-04T10:24:41.213 回答
2

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

于 2012-04-04T10:25:40.547 回答
2

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

Dim v as int
%for(int i = 0; i < $v; ++i){}% 
于 2012-04-04T10:54:25.173 回答
2

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

遵循这种方法:
1)创建多项目解决方案

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

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

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

参考:从 C# 表单启动 VB 表单

于 2012-05-08T11:13:31.627 回答
1

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

于 2012-04-04T10:25:35.107 回答
1

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

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

于 2012-04-04T15:26:35.873 回答