Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Metode ekstensi memungkinkan Anda menambahkan metode ke kelas yang ada. Metode ekstensi dapat dipanggil seolah-olah itu adalah instans kelas tersebut.
Untuk menentukan metode ekstensi
Buka aplikasi Visual Basic baru atau yang sudah ada di Visual Studio.
Di bagian atas file tempat Anda ingin menentukan metode ekstensi, sertakan pernyataan impor berikut:
Imports System.Runtime.CompilerServicesDalam modul di aplikasi baru atau yang sudah ada, mulai definisi metode dengan
<Extension>atribut :<Extension()>Perhatikan bahwa
Extensionatribut hanya dapat diterapkan ke metode (SubatauFunctionprosedur) dalam Modul Visual Basic. Jika Anda menerapkannya ke metode diClassatauStructure, pengkompilasi Visual Basic menghasilkan kesalahan BC36551, "Metode ekstensi hanya dapat ditentukan dalam modul."Deklarasikan metode Anda dengan cara biasa, kecuali bahwa jenis parameter pertama harus berupa jenis data yang ingin Anda perluas.
<Extension()> Public Sub SubName(para1 As ExtendedType, <other parameters>) ' < Body of the method > End Sub
Contoh
Contoh berikut mendeklarasikan metode ekstensi dalam modul StringExtensions. Modul kedua, Module1, mengimpor StringExtensions dan memanggil metode . Metode ekstensi harus berada dalam cakupan ketika dipanggil. Metode PrintAndPunctuate ekstensi memperluas kelas String dengan metode yang menampilkan instance string yang diikuti oleh deretan simbol tanda baca yang dikirim sebagai parameter.
' Declarations will typically be in a separate module.
Imports System.Runtime.CompilerServices
Module StringExtensions
<Extension()>
Public Sub PrintAndPunctuate(aString As String, punc As String)
Console.WriteLine(aString & punc)
End Sub
End Module
' Import the module that holds the extension method you want to use,
' and call it.
Imports ConsoleApplication2.StringExtensions
Module Module1
Sub Main()
Dim example = "Hello"
example.PrintAndPunctuate("?")
example.PrintAndPunctuate("!!!!")
End Sub
End Module
Perhatikan bahwa metode didefinisikan dengan dua parameter dan dipanggil hanya dengan satu. Parameter pertama, aString, dalam definisi metode terikat ke example, instans String yang memanggil metode . Output contohnya adalah sebagai berikut:
Hello?
Hello!!!!