Class_Initialize
- это событие, которое всегда вызывается, как только создается экземпляр класса. Это на самом деле не сравнимо с конструктором C #.
Например, обратите внимание, что Class_Initialize
создан как Private
, тогда как класс C # с закрытым конструктором не может быть создан.
Несмотря на то, что вы можете изменить событие VB6 Class_Initialize
с Private
на Public
, особого смысла не будет: поскольку событие все равно вызывается при создании экземпляра, почему вы хотите вызвать его явно во второй раз? (Если вы это сделали, было бы лучше иметь открытый метод, который вызывается из события Class_Initialize
.)
Вы не можете добавить параметры к событию VB6 Class_Initialize
, даже Optional
. Попытка сделать это приведет к ошибке компиляции.
Лучшее, что вы можете сделать, - это запустить свой собственный метод Initialize
с указанием требуемого параметра, который должен быть явно вызван, возможно, и иметь внутреннюю переменную состояния isInitialized
, чтобы гарантировать, что класс не используется, пока Initialize
метод был вызван. Также рассмотрим «фабричный» подход: классы, которые являются PublicNotCreatable
с Friend Initialize
методами, вызываемыми фабрикой и предназначенными для вызывающих, подходящих инициализированных.