我想弄清楚如何在C#應用程序的運行時導入和使用.dll。使用Assembly.LoadFile()我已經設法讓我的程序加載DLL(這部分是肯定工作的,因爲我可以用ToString())獲得類的名稱,但是我無法使用'Output'方法從我的控制檯應用程序中。我正在編譯.dll,然後將它移到我的控制檯項目中。 CreateInstance之間是否存在額外的步驟,然後才能使用這些方法?在C#運行時加載DLL#
這是我的DLL類:
namespace DLL
{
using System;
public class Class1
{
public void Output(string s)
{
Console.WriteLine(s);
}
}
}
,這裏是我想要加載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();
}
}
}
應用
http:// stackoverflow。com/questions/2202381/reflection-how-to-invoke-method-with-parameters – Stu