vba - 区分VBA中同名的类成员和参数?

标签 vba class parameters arguments member

有没有办法区分 VBA 中同名的类成员和属性/子/函数参数?例如:

第一类:

Private Name As String

Property Let LastName(Name As String)
   this.Name = Name
End Property

Property Get LastName() As String
    Dim Name As String
    Name = "Mr. "
    LastName = Name & this.Name
End Property

在其他语言中,您可以使用关键字 this 来引用类/实例(?) 成员。但是VBA中是如何解决的呢?我知道你可以使用不同的名字。但这不是我想要的。

感谢您的帮助!

最佳答案

您可以使用 Mathieu 在 private-this-as-tsomething 中教给我们的类型来创建 This

只需使用变量创建一个类型并将其分配给 This。

Private Type TPerson
  Name As String
End Type

Private This As TPerson
Property Let LastName(Name As String)
   This.Name = Name
End Property

Property Get LastName() As String
    Dim Name As String
    Name = "Mr. "
    LastName = Name & This.Name
End Property

不要忘记阅读有关 RubberDuckVBA 的其他文章,因为它们提供了许多有关 VBA-OOP 的精彩见解。

关于vba - 区分VBA中同名的类成员和参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55082887/

相关文章:

vba - 如何使用WorksheetFunction.VLookup错误处理1004错误?

vba - Excel vba : choosing random cell from non-contiguous range

C++内联运算符重载,引用当前对象

javascript - 如何在 DIV 中选择带有类的项目?

excel - 要填充 ListBox 的过滤数据数组

excel - 在 Google Chrome 中使用 VBA 在特定页面上打开 Excel 中的 PDF

java - 如何初始化在 Java 中创建的变量?

delphi - "var"和 "out"参数有什么区别?

javascript - 如何制作函数参数

javascript - countToRandom() 接受参数