VBA允许您将类方法定义为静态。尽管进行了大量的实验,但我看不出它们与常规类方法的区别。我怀疑没有区别,引擎会在此上下文中忽略static关键字。
这是一个将编译的示例类(测试Excel 2010):
' Class1.
' 4 methods, 2 static & 2 not.
Public Sub Method1()
Debug.Print "foo"
End Sub
Public Static Sub Method2()
Debug.Print "bar"
End Sub
Public Function Method3() As String
Method3 = "foo"
End Function
Public Static Function Method4() As String
Method4 = "bar"
End Function
如此测试:
Sub TestClass1()
Dim x As Class1
Set x = New Class1
x.Method1 ' prints foo.
x.Method2 ' prints bar.
x.Method3 ' returns foo.
x.Method4 ' returns bar.
End Sub
一些观察结果:
我错过了什么吗?