Static??方法没有传递给它们的隐式
This实例参数。这允许它们像普通的非成员过程(例如使用回调过程指针)一样使用,唯一的区别在于它们被封装在
typename 命名空间中,并且可以访问
typename 的
Private或{989796264 }成员。
Static方法可以直接在代码中的任何地方调用,如正常的非成员过程,或类型为
typename 的对象,类似于非静态方法,不管任何一种方式都不存在隐式或显式
ThisBase)可以在静态方法内进行访问。
对于其原型中的
Static的成员程序,也可以在相应的过程体上指定
Static,以提高代码可读性。
Static成员变量仅创建和初始化一次,与任何对象构造无关,与为每个单独对象一次又一次创建的非静态成员变量相反。它们始终为
Shared,即使声明中未指定
Shared.因此,
Static成员变量与全局变量类似,只不过它们在类型命名空间中被声明。
在Type中声明的每个
Static成员变量必须通过使用
Dim语句在类型外部显式赋值。Type中的声明是每个看到Type声明的模块都可以看到的原型。类型之外的定义赋值并可选地初始化
Static成员变量。每个
Static成员变量只能有一个定义:它只能在单个模块中赋值,而不能赋值在多个模块中。这与
Extern变量相同。
一个
Static成员变量受到成员访问控制的约束,除了它在类型之外的定义。如果私有
Static成员变量要在Type的成员过程之外显式初始化,则必须为初始化器提供定义。