Loading DLL at Runtime
Terkadang kita perlu melakukan loading DLL ketika runtime, skenario yang umum terjadi pada sistem yang pluggable. Kita dapat menggunakan System.Reflection untuk melakukannya. Here’s the code (jangan lupa tambahkan Imports System.Reflection):
Dim assemblyPackage As Assembly = Assembly.LoadFrom(dllPath)
Pertama, load file DLL/EXE yang Anda butuhkan. Shared Function LoadFrom akan mengambil parameter path assembly yang akan dibuka.
Setelah assembly berhasil dibuka, maka langkah-langkah selanjutnya tergantung kebutuhan Anda. Dalam kesempatan ini, kita akan mencoba untuk mendeklarasikan sebuah variabel dari Class yang bersifat Singleton.
Asumsikan bahwa nama Class yang akan kita buat adalah ClassA, maka kode berikut menjelaskan caranya:
For Each typeTest As Type In assemblyPackage.GetTypes
If typeTest.Name = “ClassA” Then
Dim obj As Object = _
typeTest.InvokeMember("Instance", BindingFlags.GetProperty, _
Nothing, Nothing, Nothing)
End If
Next
Variabel obj akan berisi instance dari ClassA.