В VB Me
является внутренней ссылкой на открытый интерфейс класса.
Вещи, на которые может ссылаться Me
в классе:
- Открытые свойства, подпрограммы и функции
- Элементы управления в форме доступа и классах отчетов
Вещи, на которые нельзя ссылаться :
- Закрытые члены класса, включая переменные, свойства, подпрограммы и функции
Существует два варианта использования Me
:
- Предоставление собственной ссылки при вызове функций или подпрограмм
- Вызов правильного метода в случае повторяющихся имен
Пример:
- Если в стандартном модуле определено
Public Foo()
, а в классе Public Foo()
, Me.Foo
всегда будет вызывать метод класса,и обычный Foo
сделает то же самое. - Однако, если вы удалите или переименуете метод класса
Foo()
, Me.Foo
выдаст ошибку, , но все просто Foo
Ссылки теперь будут вызывать глобальную Foo()
функцию вместо этого!
Как программист, я, конечно, не хочу код, который волшебным образом начинает вызывать другую подпрограмму без предупреждения, если я редактирую модуль класса!
Это лучший аргумент, чтобы всегда использовать Me
для ссылки на открытые члены в коде класса.