Не делать преобразование, оно не нужно. Компилятор VB делает это автоматически для всех открытых классов (т. Е. Для всех классов, которые экспортируются в COM DLL), и это не требуется для всех других полей, поскольку они используются только для внутреннего использования, и нет никакой разницы между полем и свойством для пользователя.
VB6 - единственный язык, который делает это правильно, вообще не разрешая публичные поля и неявно преобразуя их.
Напомним: в открытых переменных VB6 нет ничего плохого, поскольку обычные недостатки открытых переменных к ним не относятся. В частности, они не нарушают инкапсуляцию.