不同模块中的相同名称方法会导致歧义

时间:2010-05-20 11:21:26

标签: vb.net

我有2个模块。每个包含一个具有相同名称的Sub。见下文:

Module moduleA
    Public Sub f(ByVal arg1 As myType)
        Console.WriteLine("module A")
    End Sub
End Module

Module moduleB
    Public Sub f(ByVal arg1 As myType, ByVal arg2 As Boolean)
        Console.WriteLine("module B")
    End Sub
End Module

但编译器抱怨模块A和模块B之间存在歧义。

怎么会这样?我有完全不同的签名。

但是,如果我把2个方法放在同一个模块中,那就没有歧义了。

有人可以告诉我为什么吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您需要完全限定方法调用才能停止歧义。例如moduleA.f()