Я должен использовать ключевое слово Вызова в VB/VBA?

Я использую Call ключевое слово при вызове нижних индексов в VB/VBA. Я знаю, что это является дополнительным, но лучше использовать его или оставить его? Я всегда думал, что это было более явно, но возможно это - просто шум.

Кроме того, я считал это на другом форуме: Используя Call ключевое слово быстрее, потому что оно знает, что не собирается возвращать любые значения, таким образом, оно не должно настраивать стековое пространство для создания места для возвращаемого значения.

46
задан Mark Hurd 3 May 2012 в 15:40
поделиться

4 ответа

Для VB6, если есть вероятность, он будет преобразован в VB.NET, использование Call означает, что синтаксис не изменится. (Для вызовов методов в VB.NET требуются круглые скобки.) (Лично я не думаю, что это стоит заморачивания - любой конвертер .NET сможет, по крайней мере, заключить в скобки, когда это необходимо. Я просто перечисляю это как причина.)

В противном случае это просто синтаксический сахар.

Обратите внимание, что ключевое слово Call , вероятно, не будет быстрее при вызове какого-либо другого метода / функции, потому что функция все равно возвращает свое значение, и VB не нужно было создавать локальную переменную для его получения, даже когда Вызов не используется.

11
ответ дан 26 November 2019 в 20:37
поделиться

Я всегда использую Вызов в VBA. Для меня это просто выглядит чище. Но, я согласен, это просто синтаксический сахар, который ставит его прямо в сферу личных предпочтений. За последние несколько лет я встретил, наверное, с десяток постоянных сотрудников VBA, и ни один из них не использовал Call . Это имело дополнительное преимущество: я всегда знал, какой код мой. : p

10
ответ дан 26 November 2019 в 20:37
поделиться

Нет, он просто добавляет 7 символов за вызов без каких-либо преимуществ.

4
ответ дан 26 November 2019 в 20:37
поделиться

Я использую Call для всей разработки VBA общих библиотечных функций, которые я, возможно, буду использовать в VB.NET. Это позволяет мне перемещать код с помощью копирования и вставки между всеми разновидностями VB. Я делаю это, чтобы избежать синтаксических ошибок, которые создает редактор кода, когда он «форматирует» или «красиво печатает» вставленный код. Единственными правками обычно являются включение / исключение оператора Установить .

Если вы не планируете переносить код VB / VBA на VB.NET, тогда нет необходимости использовать оператор Call .

3
ответ дан 26 November 2019 в 20:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: