В чем разница между 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
,