在类中实现接口时,参数会自动命名为RHS,如MDSN https://msdn.microsoft.com/en-us/library/office/gg264387.aspx上所示
例如,如果我创建IInterface:
Public Property Let Value1(strValue1 As String)
End Property
Public Property Let Value2(strValue2 As String)
End Property
实现它,该类看起来像这样:
Implements IInterface
Private Property Let IInterface_Value1(RHS As String)
End Property
Private Property Let IInterface_Value2(RHS As String)
End Property
最佳实践是以这样的方式命名您的参数:提供某种级别的抽象并使代码更容易读写。在我实现语句后,我实际上可以将参数更改为我想要的任何内容,如下所示,但我的问题是为什么会发生这种情况? RHS是另一种语言的剩余物,还是有一个特殊的原因,它的名字是这样的?
Implements IInterface
Private Property Let IInterface_Value1(strValue1 As String)
End Property
Private Property Let IInterface_Value2(strValue2 As String)
End Property
如果我手动更改它,上面的编译就会很好。
答案 0 :(得分:4)
rhs
代表右侧的operator = 和lhs
代表左侧= 。为什么在这里这样命名?也许它来自c++
惯例。通过属性,您可以考虑以下代码:
Dim test As IInterface
Set test = New ClassTest
test.Value1 = "rhsVal"
新的字符串值实际上位于=
的右侧,因此rhs
。