小编Tom*_*Tom的帖子

VBA中的类(静态)方法

我想知道,是否可以在VBA中创建类方法.通过类方法,我的意思是可以在没有类的对象的情况下调用的方法.'static'关键字在C++和Java中实现了这一技巧.

在下面的示例中,我尝试创建一个静态工厂方法.

例:

'Classmodule Person'
Option Explicit
Private m_name As String
Public Property Let name(name As String)
    m_name = name
End Property
Public Function sayHello() As String
    Debug.Print "Hi, I am " & m_name & "!"
End Function

'---How to make the following method static?---'
Public Function Create(name As String) As Person
    Dim p As New Person
    p.m_name = name
    Set Create = p
End Function

'Using Person'
Dim p As New Person
p.name = "Bob"
p.sayHello 'Works as expected' …
Run Code Online (Sandbox Code Playgroud)

static vba

42
推荐指数
4
解决办法
6万
查看次数

标签 统计

static ×1

vba ×1