是否可以在vb6中拥有多个构造函数?我问的原因是因为我看到类初始化,但我不知道我是否可以将0或更多参数添加到构造函数中,或者如果class_initialize是构造函数,它可以接受任意数量的参数.令人困惑的主要是因为我对c#非常熟悉,就类而言,进入vb6是混乱的.
Class_Initialize是一个事件,只要实例化该类的实例,就会始终调用该事件.它与C#构造函数无法真正比较.
原文链接:https://www.f2er.com/vb/255256.html例如,请注意Class_Initialize是作为Private创建的,而具有私有构造函数的C#类无法实例化.
虽然您可以将VB6 Class_Initialize事件从Private更改为Public,但是没有太大意义:因为无论如何都会在实例化时调用该事件,为什么还要第二次显式调用它? (如果你这样做,最好有一个从Class_Initialize事件中调用的公共方法.)
您不能将参数添加到VB6 Class_Initialize事件,甚至不是可选参数.尝试这样做会导致编译错误.
您可以做的最好的事情是使用必需的参数来滚动您自己的Initialize方法,该方法必须显式调用,并且可能有一个内部标志isInitialized状态变量,以确保在调用Initialize方法之前不使用该类.还要考虑一种“工厂”方法:PublicNotCreatable的类,其中包含由工厂调用的Friend Initialize方法,并提供给适合初始化的调用者.