Halo, ini adalah posting keenam saya tentang fitur dari VB9 yaitu Partial Method, anda dapat melihat posting saya sebelumnya:
- Implicitly typed local vaiable
- Object initializer
- Anonymous types
- Nullable types
- If Ternary operator
Partial Method pada VB9 adalah fitur yang hampir sama dengan Partial Class yang sudah ada pada VB8, Partial Class pada VB8 sangat berguna terutama untuk memisahkan kode yang digenerate secara otomatis oleh Visual Studio.
Partial method pada VB9 digunakan dengan tujuan memudahkan kita untuk merubah method yang ada pada class yang di generate oleh tools, misal pada penggunaan LINQ to SQL. Karena ketika kita melakukan perubahan terhadap class yang digenerate oleh tools (mis: LINQ to SQL / SQL Metal) maka ketika kita menggenerate class baru lagi dengan menggunakan tools, kemungkinan code kita yang lama akan teroverride oleh code yang digenerate oleh tools tersebut.
Misal class yang digenerate oleh tools sebagai berikut
Class Mahasiswa
Private _nim As String
Public Property Nim() As String
Get
Return _nim
End Get
Set(ByVal value As String)
_nim = value
End Set
End Property
End Class
Kemudian mungkin anda ingin menambahkan method dalam class yang sudah digenerate oleh tools diatas
Class Mahasiswa
Private _nim As String
Public Property Nim() As String
Get
Return _nim
End Get
Set(ByVal value As String)
CekNim(value)
_nim = value
End Set
End Property
Private Sub CekNim(ByVal value As String)
If value = String.Empty Then
Console.WriteLine("Nim tidak boleh kosong !!")
End If
End Sub
End Class
Ketika anda mapping table baru kedalam class (mis: LINQ to SQL) maka class diatas akan degenerate ulang oleh tools, dan method yang anda tambahkan akan hilang karena dioverride oleh code hasil dari tools. Nah bagaimana caranya agar anda dapat menambahkan method pada code hasil geberate dari tools? jawabannya adalah dengan partial method, dengan partial method anda dapat memisahkan method tersebut kedalam file yang berbeda.
Class Mahasiswa
Private _nim As String
Public Property Nim() As String
Get
Return _nim
End Get
Set(ByVal value As String)
CekNim(value)
_nim = value
End Set
End Property
Partial Private Sub CekNim(ByVal value As String)
End Sub
End Class
Partial Class Mahasiswa
Private Sub CekNim(ByVal value As String)
If value = String.Empty Then
Console.WriteLine("Nim tidak boleh kosong !!")
End If
End Sub
End Class
Nah fitur partial class ini akan sangat berguna ketika anda menggunakan LINQ to SQL untuk menggenerate code mapping dari table
Selamat Mencoba ^_^