Изменения в создании экземпляров компонентов в Visual Basic
В Visual Basic 6.0 создание экземпляра контролировалось свойством Instancing класса, которое устанавливало как уровень доступа (Public, Private, Friend) класса, так и способ создания объекта.
В Visual Basic .NET сначала задается модификатор доступа класса (Public, Private или Friend), а затем при помощи уровня доступа к конструктору (Sub New) определяется возможность создания экземпляра класса. Соответствия между конструкциями VB 6.0 и VB .NET приводятся в следующей таблице.
Создание экземпляра в Visual Basic 6.0 |
Visual Basic .NET |
---|---|
Private |
Атрибут класса Access: Private |
PublicNotCreatable |
Атрибут класса Access: Public Объявление конструктора Friend (Friend Sub New) |
SingleUse |
Не поддерживается* |
GlobalSingleUse |
Не поддерживается* |
MultiUse |
Атрибут класса Access: Public Объявление конструктора Public (Public Sub New) |
GlobalMultiUse |
Не поддерживается* |
* Комбинации модификатора доступа к классу и уровня доступа к конструктору, которая дублирует свойство SingleUse, GlobalSingleUse или GlobalMultiUse, не существует. Эффект, схожий с использованием свойства GlobalMultiUse, можно получить при импорте класса в программу-клиент, хотя при этом неограниченно доступными станут лишь совместно используемые функции-члены класса. Использование открытых модулей также приводит к похожему эффекту.