当两个方法具有相同名称但参数不同时,如何在VB.Net中实现接口

前端之家收集整理的这篇文章主要介绍了当两个方法具有相同名称但参数不同时,如何在VB.Net中实现接口前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是一个C#程序员,但我必须使用一些VB.Net代码,我遇到了一种情况,我在一个具有相同名称但不同方法参数的接口上有两个方法.当我尝试在类中实现此接口时,VB.Net要求在方法签名后明确声明“Implements MethodName”.由于两个方法名称相同,这使编译器感到困惑.有办法解决这类问题吗?我怀疑这一定是常见的事.有什么想法吗?

注:这更像是程序员没有验证有问题的界面没有从他下面改变的情况.

这怎么会让编译器感到困惑?
编译器期望为每个方法签名找到实现,并通过其签名区分实现.

如果签名是相同/不可区分的(在大多数情况下,这意味着参数的顺序是相同的类型),您将得到与接口相关的设计时错误,并说这两种方法不能相互重载,因为它们有相同的签名.

所以,无论如何,编译器不应该混淆.
如果您需要进一步的帮助,请附上代码示例 – 这些内容相对容易解决.

提示:在编写实现时,只要记下“implements 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

猜你在找的VB相关文章