是否有必要在接口中指定变量名称的原因。例如,请查看以下代码:
Public Class Class1
Public Function Test(ByVal j As Integer)
End Function End Class
Public Interface int1
Function Test(ByVal i As Integer)
End Interface
类中的整数名为j,但在接口中命名为i。为什么接口不是这样的:
Public Interface int1
Function Test(Integer)
End Interface
我意识到这是一个基本问题。我觉得很好奇。
答案 0 :(得分:2)
至少,在2.0中,如果覆盖与界面签名不匹配,那么你在技术上并没有实现它http://msdn.microsoft.com/en-us/library/ms182251(v=vs.80).aspx
我现在不确定。至于为什么?我不知道。你是来自另一种语言吗?如果我没记错,其他语言标题文件只需要签名中的类型而不是名称。
Why do we have to name interface method parameters?的可能欺骗 - 这解释了您可能遇到的其他几个原因。
答案 1 :(得分:0)
一个原因就是如果你有
Public Interface int1
Function Test(Integer,Integer)
End Interface
你怎么知道从int1变量调用Test时,哪个整数是......
基本上编译器本身并不关心参数名称,我们几乎总是这样做。
评论之后。
假设您有两个int1实现
Imp1.Test(A,B)和Imp2.Test(B,A)
你已经完成了
Dim myInt1 as Int1
...
...
myInt1.Test(
现在你被塞满了不是吗?您必须测试myInt1以查看是否为imp1或imp2,因此界面完全浪费时间......