Поделиться через


Тип данных <имяПеременной> не может быть определен автоматически, так как это статическая локальная переменная

Обновлен: Ноябрь 2007

<Variablename>' will not be inferred because it is a static local variable

Компилятор не вычисляет тип данных статических локальных переменных. В следующем примере с Option Strict равным Off тип m будет Object, независимо от того, имеет ли Option Infer значение On или Off. Автоматическое вычисление локального типа не производится.

Sub Main()
    Static m = 10
End Sub

По умолчанию это сообщение является предупреждающим. Сведения о том, как скрыть предупреждения или как рассматривать предупреждения как ошибки, содержатся в разделе Настройка предупреждений в Visual Basic.

Идентификатор ошибки: BC42111

Чтобы обработать это предупреждение

  • Укажите тип данных для статических локальных переменных.

    Например, если в предыдущем примере требуется m с типом Integer, укажите тип в объявлении.

    Sub Main()
        Static m As Integer = 10
    End Sub
    

См. также

Задачи

Практическое руководство. Увеличение времени жизни переменной

Основные понятия

Вывод локального типа

Ссылки

Оператор Dim (Visual Basic)

Оператор Option Infer

Static (Visual Basic)