Vb6 模块中的默认属性/方法

Vb6 模块中的默认属性/方法,vb6,Vb6,在Visual Basic 6中,可以将方法/属性定义为“默认”。将此应用于类并使用类实例时,某些赋值会隐式使用该类上定义的默认属性/方法 但是,也可以将默认值应用于模块中的属性/方法。这将实现什么?如何使用模块中包含的隐式方法/属性调用?不,这是不可能的。默认属性是通过在接口的成员上使用DispID 0实现的。由于模块不实现接口,因此无法指示模块中的功能为“默认” 你为什么要在模块中这样做?像你一样,我看不出它有什么效果。您还可以将模块中的方法设置为AboutBox或Refresh,这肯定没有

在Visual Basic 6中,可以将方法/属性定义为“默认”。将此应用于类并使用类实例时,某些赋值会隐式使用该类上定义的默认属性/方法


但是,也可以将默认值应用于模块中的属性/方法。这将实现什么?如何使用模块中包含的隐式方法/属性调用?

不,这是不可能的。默认属性是通过在接口的成员上使用DispID 0实现的。由于模块不实现接口,因此无法指示模块中的功能为“默认”


你为什么要在模块中这样做?

像你一样,我看不出它有什么效果。您还可以将模块中的方法设置为
AboutBox
Refresh
,这肯定没有任何意义?我认为这可能是一个疏忽,您可以为标准BAS模块中的方法和属性设置过程ID(DispID)

您可以在用户定义类中设置默认属性/方法,但由于上述原因,不能为现有类设置默认属性/方法