Untuk lebih jelasnya mari kita buat contoh sederhana berikut ini.
1. Buat sebuah console application dengan menggunakan Visual Studio 2010.
2. Ketikkan kode berikut ini di dalam Module1 :
3. Tambahkan kode berikut ini di dalam Sub Main:
Sub Main()
Dim type1 = GroupNames(Nothing).GetType.FullName
Console.WriteLine(type1)
Dim type2 = GroupNames("Rock").GetType.FullName
Console.WriteLine(type2)
Console.ReadLine()
End Sub
4. Pada saat aplikasi tersebut dijalankan kita akan melihat hasilnya seperti pada gambar berikut ini:

Dari gambar di atas dapat dilihat bahwa tipe data array ditentukan oleh tipe data array yang di kembalikan secara “local type inference” di dalam fungsinya dan bukan sesuai dengan tipe data yang sudah di definisikan secara eksplisit terhadap fungsinya.
Tambahkan kode berikut ini di dalam Module1 diatas :
Private Function GetKeyNumber(ByVal MaxNumber As Integer) As Integer()
If MaxNumber <= 0 Then
Return {}
Else
Return {1, 2, 3}
End If
End Function
Pada saat di kompilasi kode tersebut akan menghasilkan error seperti pada gambar dibawah ini:

Penjelasan pesan error tersebut sudah cukup jelas bukan? :) Hasil yang berbeda akan kita dapatkan apabila semua kode diatas ditulis dengan menggunakan VB 11 dengan tools Visual Studio 2012, mari kita coba :)
Penggunaan di VB 11
1. Buat sebuah Console Application project dengan menggunakan Visual Studio 2012
2. Ketikkan semua kode di atas yang sudah ditulis dengan VB 10 dengan sedikit tambahan di dalam Sub Main :
Private Function GroupNames(ByVal Genre As String) As Object()
If Genre = "Rock" Then
Return {"Mr.Big", "Extreme", "Van Halen"}
Else
Return {}
End If
End Function
Private Function GetKeyNumber(ByVal MaxNumber As Integer) As Integer()
If MaxNumber <= 0 Then
Return {}
Else
Return {1, 2, 3}
End If
End Function
Sub Main()
Dim type1 = GroupNames(Nothing).GetType.FullName
Console.WriteLine(type1)
Dim type2 = GroupNames("Rock").GetType.FullName
Console.WriteLine(type2)
Dim type3 = GetKeyNumber(0).GetType.FullName
Console.WriteLine(type3)
Dim type4 = GetKeyNumber(3).GetType.FullName
Console.WriteLine(type4)
Console.ReadLine()
End Sub
3. Pada saat di kompilasi dan dijalankan kita akan melihat hasilnya seperti pada gambar di bawah ini :

Sekarang timbul pertanyaan : “Loh kok hasilnya beda ya dengan VB 10 dan hasilnya juga ga error?” :)
VB 11 akan mengembalikan tipe data array sesuai dengan tipe data yang di deklarasikan secara eksplisit terhadap fungsinya, dan bukan sebagai hasil infering di dalam method seperti yang terjadi di VB 9 atau VB 10. Ok…mudah-mudahan penjelasan saya ini dapat dipahami :)