4

是否有理由必须在接口中指定变量名。例如,看下面的代码:

 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

我意识到这是一个基本问题。我只是觉得很好奇。

4

2 回答 2

2

至少,在 2.0 中,如果覆盖与接口签名不匹配,那么您在技术上并没有实现它http://msdn.microsoft.com/en-us/library/ms182251(v=vs.80 ).aspx

我现在不确定。至于为什么?我不知道。你来自另一种语言吗?如果我没记错的话,其他语言头文件只需要签名中的类型而不需要名称。

为什么我们必须命名接口方法参数?- 这解释了您可能遇到的其他几个原因。

于 2012-07-25T17:35:40.833 回答
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,所以这个接口完全是浪费时间......

于 2012-07-25T17:26:20.927 回答