Aracılığıyla paylaş


Yerel Türü Arabirimi (Visual Basic Başvurusu)

Visual Basic Derleyicisi kullanır tür kesmesi olmadan bildirilen yerel değişkenlere veri türlerini belirlemek için bir As yan tümcesi.Derleyici başlatma ifade türü değişkenini türü yorumlar.Değişkenlerin açıkça belirten bir tür olmadan aşağıdaki örnekte gösterildiği gibi bildirimini sağlar. Bildirimleri, her ikisi de num1 ve num2 kesinlikle tamsayılar yazılmalıdır.

Public Sub inferenceExample()

    ' Using explicit typing. 
    Dim num1 As Integer = 3

    ' Using local type inference. 
    Dim num2 = 3

End Sub

[!NOT]

İstemiyorsanız, num2 olarak yazılması için önceki örnekte bir Integer, başka bir türü bildirimi aþaðýdaki gibi kullanarak belirtmek Dim num3 As Object = 3 veya Dim num4 As Double = 3.

Yerel tür kesmesi yordamı düzeyinde uygulanır.Modül düzeyinde (sınıf, yapı, modül veya arabirim içinde ancak bir yordam veya blok içinde değil) değişkenleri bildirmek için kullanılamaz.num2 Önceki örnekte yerel bir değişkene bir yordam yerine sınıfının bir alanı olan, hata bildirimi neden Option Strict ve sınıflandırmak num2 olarak bir Object ile Option Strict kapalı.Benzer şekilde, yerel tür kesmesi olarak bildirilen yordamı düzeyinde değişkenler için geçerli değildir Static.

Kesmesi vs yazın.Late Binding

Late binding dayanır kodu kullanır kesmesi yazın kod benzer.Ancak, tür kesmesi olarak bırakmak yerine değişkenin kesinlikle türleri Object.Derleyici değişkenin Başlatıcı bağlı erken kod üretmek için derleme zamanında değişkenin türünü belirlemek için kullanır.Önceki örnekte, num2, LIKE num1, olarak yazılmış bir Integer.

Sonradan bağlanan değişkenlerin türü yalnızca çalışma zamanında bilinen, önceden bağlanan değişkenleri davranışını farklıdır.Tür erken bilerek yürütmeden önce sorunları belirlemek, kesin olarak bellek ve diğer iyileştirmeler gerçekleştirmek derleyici sağlar.Erken bağlama, Visual Basic tümleşik geliştirme ortamını (IDE) bir nesne üyeleri hakkında IntelliSense Yardım sağlamak için de sağlar.Erken bağlama da performans için tercih edilir.Bunun nedeni, sonradan bağlanan deðiþkeninde saklanan tüm veri türü olarak alınmalıdır Object, ve çalışma zamanında türündeki üyeler erişme program yavaş yapar.

Örnekler

Tür kesmesi oluşur olmadan yerel değişkeni bildirirken bir As yan tümcesi ve başlatıldı.Derleyici değişkenin türü olarak atanan ilk değer türünü kullanır.Örneğin, aşağıdaki kod satırlarını her türünde bir değişken bildirir String.

' Using explicit typing. 
Dim name1 As String = "Springfield" 

' Using local type inference. 
Dim name2 = "Springfield"

Aşağıdaki kod, bir sayı dizisi oluşturmak için iki eşdeğer şekilde göstermektedir.

' Using explicit typing. 
Dim someNumbers1() As Integer = New Integer() {4, 18, 11, 9, 8, 0, 5}

' Using local type inference. 
Dim someNumbers2 = New Integer() {4, 18, 11, 9, 8, 0, 5}

Döngü denetim değişkeni türünü belirlemek için tür kesmesi kullanmak kullanışlıdır.Derleyici aşağıdaki koda göre yorumlar number olan bir Integer çünkü someNumbers2 önceki örnekten tamsayı dizisidir.

Dim total = 0
For Each number In someNumbers2
    total += number
Next

Yerel tür kesmesi kullanılabilecek Using aşağıdaki örnekte gösterilmiştir gibi kaynak adı kurmak için deyimleri.

Using proc = New System.Diagnostics.Process
    ' Insert code to work with the resource. 
End Using

Aşağıdaki örnek gösterdiği gibi bir değişken türü de İşlevler, iade değerlerinden olayla.Her ikisi de pList1 ve pList2 , çünkü diziler işlemlerin Process.GetProcesses işlemler dizisi döndürür.

' Using explicit typing. 
Dim pList1() As Process = Process.GetProcesses()

' Using local type inference. 
Dim pList2 = Process.GetProcesses()

Seçenek gerçekleştirip

Option InferBelirli bir dosyanın yerel tür kesmesi izin verilip verilmeyeceğini belirtmek etkinleştirir.Etkinleştirmek veya seçeneğini engellemek için aşağıdaki deyimlerden dosyanın başlangıcına yazın.

Option Infer On

Option Infer Off

İçin bir değer belirtmezseniz, Option Infer kodunuzda, derleyici varsayılan olan Option Infer On.Projeler arasında yükseltme için Visual Basic 2008 veya daha önceki sürümlerde, derleyici varsayılan Option Infer Off.

Değeri ayarlamak, Option Infer dosya çakışmaları IDE veya komut satırında değer kümeleriyle dosyasındaki değer önceliğe sahiptir.

Daha fazla bilgi için, bkz. Option Infer Deyimi ve Derleme Sayfası, Proje Tasarımcısı (Visual Basic).

Kısıtlamalar

Tür kesmesi, yalnızca statik olmayan yerel değişkenler için kullanılabilir; class alanları, özellikleri veya işlev türünü belirlemek için kullanılamaz.

Ayrıca bkz.

Başvuru

For Each...Next Deyimi (Visual Basic)

For...Next Deyimi (Visual Basic)

Option Infer Deyimi

/optioninfer

Kavramlar

Anonim Türleri (Visual Basic)

Erken ve Geç Bağlama (Visual Basic)

Visual Basic'de LINQ'e Giriş