Partilhar via


Declaração Option Infer

Permite o uso de inferência de tipos locais ao declarar variáveis.

Option Infer { On | Off }

Partes

  • On
    Opcional.Permite inferência de tipo local.

  • Off
    Opcional.Desabilita inferência de tipo local.

Observação:

Se você não especificar On ou Off, o padrão é On para projetos criados no Visual Basic 2008. O padrão é Offpara projetos melhorados de versões anteriores.

Comentários

Quando se colca Option Infer para On, você pode declarar variáveis sem estabelecer explicitamente um tipo de dados.O compilador infere o tipo de dados de uma variável do tipo de sua expressão de inicialização.Por exemplo, com Option Infer e Option Strict em off, a variável na declaração Dim someVar = 2 é identificada apenas como um objeto.

IntelliSense quando Option Infer e Option Strict estão desligados.

Quando se coloca Option Infer em On, o compilador identifica someVar como um Integer.

IntelliSense quando Option Infer está ligado.

O compilador pode então detectar inconsistências no uso da variável no seu projeto que outros podem nao ter reconhecido até o projeto ser executado.Identificação de someVar como um Integer também permite o ambiente de desenvolvimento integrado (IDE) a prover total suporte a IntelliSense.

Observação:

Se você não especificar um valor para Option Infer em seu código ou no IDE, o compilador padrão é Option Infer On para projetos recém-criados. O padrão é Option Infer Offpara projetos melhorados.

Observação:

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações do Visual Studio.

Colocando Option Infer em um arquivo

  • Digite Option Infer On ou Option Infer Off no topo do arquivo, antes de qualquer outro código-fonte.Se o valor definido para Option Inferem um arquivo conflita com o valor definido no IDE ou na linha de comando, o valor no arquivo possui precedência.

Colocando Option Infer no IDE para um único projeto

  1. Clique num projeto em Gerenciador de Soluções .

  2. Abra o Project Designerclicando Property Pages no menu View.

  3. Na guia Compile,na opção Option Infer, selecione On ou Off.

Estabelecendo o valor padrão para Option Infer no IDE

  1. No menu Tools, clique em Options.

  2. Expanda o nó Projects and Solutions.

  3. Clique em VB Defaults.

  4. Na lista Option Infer, clique On or Off.

    Observação:

    Se você conjunto o valor Para Option Infer usando o Ferramentas menu, o valor serão mantidas por meio de projetos subseqüentes, a menos que você o altere.

Colocando Option Infer na linha de comando

  • Inclua a opção de compilador /optioninfer no comando vbc.

Exemplo

O exemplo a seguir demonstra como a declaraçãoOption Infer permite inferência de tipo local.

' Enable Option Infer before trying these examples.

' Variable num is an Integer.
Dim num = 5

' Variable dbl is a Double.
Dim dbl = 4.113

' Variable str is a String.
Dim str = "abc"

' Variable pList is an array of Process objects.
Dim pList = Process.GetProcesses()

' Variable i is an Integer.
For i = 1 To 10
    Console.WriteLine(i)
Next

' If CustomerList is a list of Customer objects,
' variable cust is an instance of the Customer class.
For Each cust In CustomerList
    Console.WriteLine(cust.Name)
Next

' Variable namedCust is an instance of the Customer class.
Dim namedCust = New Customer With {.Name = "Lance Tucker", _
                                   .City = "Seattle"}

' Variable product is an instance of an anonymous type.
Dim product = New With {Key .Name = "paperclips", Key .Price = 1.29}

' If customers is a collection of Customer objects in the following 
' query, the inferred type of cust is Customer, and the inferred type
' of custs is IEnumerable(Of Customer).
Dim custs = From cust In customers _
            Where cust.City = "Seattle" _
            Select cust.Name, cust.ID

Consulte também

Conceitos

Inferência de tipos local

Referência

Instrução Dim (Visual Basic)

Opção Comparar Declarações

Opção Explicit demonstrativo (Visual Basic)

Opção declaração estrito

Caixa de diálogo Opções de padrões, projetos, Visual Basic

/optioninfer