Fitur VB9 (Relaxed Delegates)

Halo, ini adalah posting kedelapan saya tentang fitur dari VB9 yaitu Relaxed Delegates, anda dapat melihat posting saya sebelumnya:

  • Implicitly typed local vaiable
  • Object initializer
  • Anonymous types
  • Nullable types
  • If Ternary operator
  • Partial Method
  • Extension Method

Pada VB8 jika anda mengaktifkan pilihan option strict menjadi “Off” maka compiler VB secara otomatis akan mengkonversi dari satu tipe data ke tipe data yang lain tanpa harus menuliskannya secara eksplisit (casting), misal untuk melakukan narrowing conversion (dari double menjadi integer). Pada VB9 fasilitas semacam itu juga ditambahkan namun untuk signatur delegates.

Pada VB8 jika anda menggunakan delegates seperti berikut:

   1: Delegate Sub Hello(ByVal h As Object)
   2: Module Module1
   3:     Sub Kenalan(ByVal h As String)
   4:         Console.WriteLine("Helloo" & h)
   5:     End Sub
   6:     Sub Main()
   7:         Dim hai As New Hello(AddressOf Kenalan)
   8:         hai("Erick")
   9:     End Sub
  10: End Module

maka compiler VB akan memberikan pesan error bahwa tipe datanya tidak sama beda signatur delegates antara “object” dan “string”

image   

Tapi pada VB9 kasus seperti diatas tidak akan terjadi lagi karena compiler VB9 sudah cukup smart untuk mengkonversi dari “object” ke “string”

image

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s