为什么在VBA中实现接口时,参数重命名为RHS?

时间:2017-03-03 09:32:14

标签: vba interface implements

在类中实现接口时,参数会自动命名为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

如果我手动更改它,上面的编译就会很好。

1 个答案:

答案 0 :(得分:4)

rhs代表右侧的operator = lhs代表左侧= 。为什么在这里这样命名?也许它来自c++惯例。通过属性,您可以考虑以下代码:

Dim test As IInterface
Set test = New ClassTest
test.Value1 = "rhsVal"

新的字符串值实际上位于=的右侧,因此rhs