Saya mencoba untuk mencari tahu bagaimana Anda bisa pergi tentang mengimpor dan menggunakan .dll saat runtime di dalam aplikasi C #. Menggunakan Assembly.LoadFile () Saya telah berhasil membuat program saya memuat dll (bagian ini pasti berfungsi karena saya bisa mendapatkan nama kelas dengan ToString ()), namun saya tidak dapat menggunakan 'Output' metode dari dalam aplikasi konsol saya. Saya mengompilasi .dll kemudian memindahkannya ke proyek konsol saya. Apakah ada langkah ekstra antara CreateInstance dan kemudian dapat menggunakan metode?
Ini adalah kelas di DLL saya:
namespace DLL
{
using System;
public class Class1
{
public void Output(string s)
{
Console.WriteLine(s);
}
}
}
dan berikut adalah aplikasi yang ingin saya muat DLL
namespace ConsoleApplication1
{
using System;
using System.Reflection;
class Program
{
static void Main(string[] args)
{
var DLL = Assembly.LoadFile(@"C:\visual studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\DLL.dll");
foreach(Type type in DLL.GetExportedTypes())
{
var c = Activator.CreateInstance(type);
c.Output(@"Hello");
}
Console.ReadLine();
}
}
}