在C#代码中使用VB接口、枚举等

在C#代码中使用VB接口、枚举等,c#,.net,vb.net,interface,C#,.net,Vb.net,Interface,我有一个多项目的解决方案,有些项目是用VB编写的,有些是用C#编写的。我想知道是否有办法在C#类中使用VB编写的接口和/或枚举?我下面的C#代码没有编译,但是我可以在intellisense中看到接口 VB代码: Namespace A Public Inteface IHandler Function Handle() As HandlerResult End Interface Public Enum HandlerResult Su

我有一个多项目的解决方案,有些项目是用VB编写的,有些是用C#编写的。我想知道是否有办法在C#类中使用VB编写的接口和/或枚举?我下面的C#代码没有编译,但是我可以在intellisense中看到接口

VB代码:

Namespace A
    Public Inteface IHandler
        Function Handle() As HandlerResult
    End Interface

    Public Enum HandlerResult
        Success = 1
        Fail = 0
    End Enum
End Namespace
C#代码:

另外,它是一个控制台/服务应用程序,而不是ASP.Net(我知道它是可行的)


UPD:抱歉,伙计们,缺少对该界面项目的引用。现在修好了。我认为VB项目中的引用与C中的引用略有不同,这让我感到困惑。

如果将C代码放在与VB代码不同的程序集中,这将起作用。为了避免循环依赖,您可能必须将所有现有VB代码移动到DLL程序集中。这样,您就可以从新的C#程序集中引用VB.Net程序集,并从主exe程序集中引用这两个程序集

请注意,如果您这样做,则从C#查看的名称空间将不仅仅是“A”,它将嵌套在VBProject的默认名称空间下面,例如

using StackOverflow7843509.A;

namespace B
{
    public class MyHandler : IHandler
    {
        public HandlerResult Handle()
        {
            return HandlerResult.Success;
        }
    }
}

在本例中,我创建的VB项目的默认名称空间是
StackOverflow7843509

编译代码时,所有这些都归结为同一件事,因此答案是(大部分)是的-您可以将编译后的VB.NET库与C#一起使用,反之亦然。

编译错误是什么?VB引用与C#引用有何不同?@ChrisDunaway,我的意思是visual studio中的引用UI:C#项目有一个名为“引用”的文件夹,其中包含所有引用库,而在VB中,所有引用都是“隐藏”完成的,在项目属性中,它是一个不同的程序集,我添加了一个对正确项目的引用和接口,它成功了,我的错。谢谢
using StackOverflow7843509.A;

namespace B
{
    public class MyHandler : IHandler
    {
        public HandlerResult Handle()
        {
            return HandlerResult.Success;
        }
    }
}