Что делает помещение восклицательного знака (!
) перед ссылкой на объект переменная делают в Visual Basic 6.0?
Например, я вижу следующее в коде:
!RelativePath.Value = mstrRelativePath
Что делает !
средний?
Почти наверняка это утверждение внутри блока With:
With blah
!RelativePath.Value = mstrRelativePath
End With
which is syntax sugar for
blah("RelativePath").Value = mstrRelativePath
which is syntax sugar for
blah.DefaultProperty("RelativePath").Value = mstrRelativePath
where "DefaultProperty" is a property with dispid zero that's indexed by a string. Как свойство Fields объекта ADO Recordset.
Некоторая неизбежность сахара заключается в том, что он вызывает кариес. Именно по этой причине в VB6 и VBA необходимо использовать ключевое слово Set. Потому что без него компилятор не знает, что вы хотели скопировать - ссылку на объект или значение свойства объекта по умолчанию. Устранено в vb.net.
Восклицательный знак действует как оператор доступа к члену, кажется ...
Операторы доступа к члену
Чтобы получить доступ к члену типа, вы используете точку (.) Или восклицательный знак (!) оператор
Я беру это обратно. Это:
Оператор восклицательного знака (!) Используйте ! только в интерфейсе класса или в качестве оператора доступа к словарю . Класс или интерфейс должны иметь свойство по умолчанию, которое принимает единственный строковый аргумент . Идентификатор сразу после! оператор становится строковым аргументом для свойства по умолчанию .