Что делает восклицательный знак (!) Перед ссылочной переменной объекта?
Что помещает восклицательный знак (!
) перед ссылочной переменной объекта в Visual Basic 6.0?
Например, я вижу в коде следующее:
!RelativePath.Value = mstrRelativePath
Что означает !
?
Ответы
Ответ 1
Это почти наверняка утверждение внутри блока With:
With blah
!RelativePath.Value = mstrRelativePath
End With
который является синтаксическим сахаром для
blah("RelativePath").Value = mstrRelativePath
который является синтаксическим сахаром для
blah.DefaultProperty("RelativePath").Value = mstrRelativePath
где "DefaultProperty" - это свойство с оплошным нулем, которое индексируется строкой. Как свойство Fields объекта ADO Recordset.
Несколько неизбежно с сахаром, что он производит гнилые зубы. Именно по этой причине вам нужно использовать ключевое слово Установить в VB6 и VBA. Потому что без него компилятор не знает, хотите ли вы копировать ссылку на объект или значение свойства объекта по умолчанию. Исключено в vb.net.
Ответ 2
Восклицательный знак действует как оператор доступа к членству, кажется...
Операторы доступа к членству
Чтобы получить доступ к элементу типа, вы используете точка (.) или восклицательный знак (!) операторЗабастовкa >
Я беру это обратно. Это:
Восклицательный знак (!) Оператор Используйте! оператор только на классе или интерфейс как доступ к словарю оператор. Класс или интерфейс должны имеют свойство по умолчанию, которое принимает единственный аргумент String. Идентификатор сразу после! оператор становится аргументом строки для свойство по умолчанию.