Option Infer-Anweisung
Aktualisiert: November 2007
Ermöglicht den lokalen Typrückschluss beim Deklarieren von Variablen.
Option Infer { On | Off }
Bestandteile
On
Optional. Aktiviert den lokalen Typrückschluss.Off
Optional. Deaktiviert den lokalen Typrückschluss.
Hinweis: |
---|
Wenn weder On noch Off festgelegt wird, ist die Standardeinstellung für in Visual Basic 2008 erstellte Projekte On. Bei Projekten, die von früheren Versionen aktualisiert wurden, ist die Standardeinstellung Off. |
Hinweise
Wenn Sie Option Infer auf On festlegen, können Sie Variablen deklarieren, ohne explizit einen Datentyp anzugeben. Der Compiler leitet den Datentyp einer Variablen vom Typ des Initialisierungsausdrucks ab. Wenn beispielsweise Option Infer und Option Strict deaktiviert sind, wird die Variable in der Deklaration Dim someVar = 2 nur als Objekt erkannt.
IntelliSense, wenn Option Infer und Option Strict deaktiviert sind.
Wenn Sie Option Infer auf On festlegen, wird someVar vom Compiler als Integer erkannt.
IntelliSense, wenn Option Infer aktiviert ist.
Der Compiler erkennt bei der Verwendung der Variablen in Ihrem Projekt Inkonsistenzen, die andernfalls erst beim Ausführen des Projekts erkannt würden. Durch die Erkennung von someVar als Integer bietet die integrierte Entwicklungsumgebung (Integrated Development Environment – IDE) außerdem vollständige IntelliSense-Unterstützung.
Hinweis: |
---|
Wenn Sie in Ihrem Code oder in der IDE keinen Wert für Option Infer festlegen, ist die Standardeinstellung des Compilers für neu erstellte Projekte Option Infer On. Der Standard für aktualisierte Projekte ist Option Infer Off. |
Hinweis: |
---|
Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen. |
So legen Sie Option Infer in einer Datei fest
- Geben Sie am Anfang der Datei Option Infer On oder Option Infer Off ein, bevor weiterer Quellcode folgt. Wenn der für Option Infer in einer Datei festgelegte Wert dem in der IDE oder auf der Befehlszeile festgelegten Wert widerspricht, hat der Wert in der Datei Vorrang.
So legen Sie Option Infer in der IDE für ein einzelnes Projekt fest
Klicken Sie im Projektmappen-Explorer auf ein Projekt.
Öffnen Sie den Projekt-Designer, indem Sie im Menü Ansicht auf Eigenschaftenseiten klicken.
Klicken Sie auf der Registerkarte Kompilieren im Feld Option Infer entweder auf On oder auf Off.
So legen Sie den Standardwert für Option Infer in der IDE fest
Klicken Sie im Menü Extras auf Optionen.
Erweitern Sie den Knoten Projekte und Projektmappen.
Klicken Sie auf VB-Standard.
Klicken Sie in der Liste Option Infer auf On oder Off.
Hinweis: Wenn Sie den Wert für Option Infer über das Menü Extras festlegen, bleibt dieser für spätere Projekte bestehen, bis er geändert wird.
So legen Sie Option Infer in der Befehlszeile fest
- Fügen Sie die /optioninfer-Compileroption in den vbc-Befehl ein.
Beispiel
In den folgenden Beispielen wird veranschaulicht, wie die Option Infer-Anweisung den lokalen Typrückschluss ermöglicht.
' 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
Siehe auch
Konzepte
Referenz
Option Explicit-Anweisung (Visual Basic)