Static (Visual Basic)
Определяет, что одна или несколько объявленных локальных переменных продолжают сохранять самые последние значения после завершения процедуры, в которых они объявлены.
Заметки
Как правило, локальная переменная в процедуре прекращает свое существование сразу же после окончания выполнения процедуры.Статические переменные продолжают существовать, сохраняя самое последнее значение.При следующем вызове процедуры переменная не инициализируется повторно, а хранит последнее значение, которое ей было присвоено при последнем вызове процедуры.Статические переменные продолжают существовать в течение времени существования класса или модуля, в которых она определена.
Правила
Контекст объявления. Можно использовать Static только для локальных переменных.Это означает, что контекст объявления для переменной Static должен быть классом, структурой, модулем или интерфейсом, и не может быть исходным файлом, пространством имен, структурой или модулем.
Нельзя использовать Static внутри структуры процедуры.
Типы данных локальных переменных Static не могут быть выведены.Дополнительные сведения см. в разделе Вывод локального типа (Visual Basic).
Комбинированные модификаторы. Нельзя указывать в одном объявлении Static вместе с ReadOnly, Shadows или Shared.
Поведение
При объявлении статическую переменную в процедуре Shared только одна копия статической переменной доступна для всего приложения.Вызове процедуры по Shared с помощью имени класса, а не переменную, указывающий на экземпляр класса.
При объявлении статическую переменную в процедуре, которая не является Shared только одна копия переменной доступна для каждого экземпляра класса.Вызове non-совместно используемой процедуры с помощью переменной, которая указывает на конкретный экземпляр класса.
Пример
Следующий пример демонстрирует использование Static.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
Переменная StatictotalSales инициализируется с помощью значения 0 только один раз.Каждый раз, когда вводится updateSales, переменная totalSales по-прежнему хранит самое последнее вычисленное для нее значение.
Модификатор Static можно использовать в следующем контексте.
См. также
Ссылки
Основные понятия
Время существования в Visual Basic
Объявление переменной в Visual Basic
Вывод локального типа (Visual Basic)