В чем разница между Dim, Global, Public и Private как модульными модификаторами доступа к полю?

В VB6/VBA вы можете объявлять переменные уровня модуля вне определенного Sub или же Function метод. Я использовал Private а также Public прежде чем внутри модулей и понять их так:

  • Public - видимый для всего кода внутри модуля и всего кода вне модуля, по сути, делающий его глобальным.
  • Private - видимый только для кода внутри модуля.

Я заметил, что вы можете использовать Dim а также Global как модификаторы для модульных переменных. Являются Dim а также Global отличный от Private а также Publicсоответственно при использовании в качестве модификаторов доступа на модульных полях? Если да, то чем они отличаются?

1 ответ

Решение

Dim а также Private работать так же, хотя общее соглашение заключается в использовании Private на уровне модуля, и Dim на уровне Sub/Function. Public а также Global почти идентичны по своей функции, однако Global может использоваться только в стандартных модулях, тогда как Public может использоваться во всех контекстах (модули, классы, элементы управления, формы и т. д.) Global Происходит из более старых версий VB и, вероятно, был сохранен для обратной совместимости, но был полностью заменен Public,

Другие вопросы по тегам