在C#.net中扩展VB.net类

时间:2015-10-28 09:14:07

标签: c# .net vb.net

我目前正在探索将VB.net和C#.net结合到同一个解决方案中的可能性,以期停止编写VB.net代码,然后再下线,重构已写入C#的内容。我对.net框架的理解表明,我可以使用另一种语言扩展一种语言的类,但我找不到使其工作的方法。

作为一个模型,我创建了一个看起来很像这样的VB.Net控制台应用程序:

Namespace CrossLanguage

Module Module1

    Sub Main()

        Console.WriteLine("This is a test")
        Console.ReadLine()

        Dim x As New Test

        x.WriteMeAnAnimal()

    End Sub

End Module

Public Class Test

    Sub WriteMeAnAnimal()

        Console.WriteLine("An animal")
        Console.ReadLine()

    End Sub

End Class

End Namespace

这是有效的,并没有真正的问题。我可以运行应用程序,在第一个ReadLine,我可以提交任何我喜欢的东西,并出现“动物”。现在,我接下来要做的就是使用一个类文件创建一个新的C#项目。我添加了一个指向VB.net项目的项目引用(这很好),但是我无法让C#类看到VB类存在:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Test;

namespace CrossLanguage
{
    public class Dog : Test
    {
    }
}

对Test的引用的IDE错误,整个“找不到,你错过了......”恶作剧。

我错过了什么吗?

1 个答案:

答案 0 :(得分:-1)

可悲的是,这似乎是Visual Studio的一些怪癖。审查了你的评论后,我今天坐下来打开了解决方案,尝试了几件事情,好吧,它没有改变任何东西。

感谢您的帮助。

Ashilta