У меня есть 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
Но компилятор жалуется, что есть неоднозначность между ModuleA и moduleB.
Как это могло быть? У меня совершенно разные подписи.
Однако, если я помещу 2 метода в один и тот же модуль, нет никакой двусмысленности вообще.
Может ли кто-нибудь сказать мне, почему?
Большое спасибо.
Почему вы не помещаете обе функции в один и тот же модуль? Я думаю, потому что оба модуля предназначены для разных целей. Таким образом, возникает проблема сделать вызов типа moduleB.f (...)? Кроме того, его легче понять для всех (включая вас самих), которые увидят ваш код позже. –