当我用一个对象做很多不同的事情时,我经常使用 With object 语法。它是调用对象的属性/方法的有用简写,而不必因重用对象的名称而使代码变得混乱。然而有时我想调用一个将对象本身作为参数的函数。在这种情况下有什么方法可以引用该对象吗?
' Class Module
' Class1
' Code Module
Sub f(byref obj as Class1)
End Sub
Sub test()
Dim obj as Class1: set obj = new Class1
With obj
f Me ' Doesn't work - can you refer to obj in this context?
f obj ' Works but I don't like it when the object has a long name
End With
End Sub
Run Code Online (Sandbox Code Playgroud)