Как это смущает компилятор?
Компилятор ожидает найти реализацию для каждой сигнатуры метода и различает реализации по их сигнатурам.
Если подписи идентичны / неразличимы (в большинстве случаев это означает, что аргументы имеют одинаковые типы в одном и том же порядке), вы получите ошибку времени разработки, связанную с интерфейсом, заявив, что два метода не могут перегрузить так как они имеют одинаковую подпись.
Так что, в любом случае, не следует путать компилятор.
Если вам нужна дополнительная помощь, приложите пример кода - эти вещи относительно легко решить.
Совет. При написании реализации, как только вы запишите «реализует MyInterface» и нажмете «Enter» - Visual Studio создаст «каркасный» код реализации, который сохранит вас при написании сигнатур методов и их сопоставлении к интерфейсу.
Пример кода работы двух методов с одинаковыми именами и с одинаковыми именами:
Interface MyInterface
Sub MySub(ByVal arg0 As DateTime)
Sub MySub(ByVal arg0 As ULong)
End Interface
Class MyImplementation
Implements MyInterface
Public Sub MySub(ByVal arg0 As Date) Implements MyInterface.MySub
...
End Sub
Public Sub MySub(ByVal arg0 As ULong) Implements MyInterface.MySub
...
End Sub
End Class