在C#中運(yùn)行時(shí)加載DLL我試圖找出如何在C#應(yīng)用程序中運(yùn)行時(shí)導(dǎo)入和使用.dll。使用Assembly.LoadFile()我設(shè)法讓我的程序加載dll(這部分肯定是有效的,因?yàn)槲夷軌颢@得帶有ToString()的類的名稱),但是我無法使用'輸出'我的控制臺應(yīng)用程序內(nèi)的方法。我正在編譯.dll然后將其移動到我的控制臺項(xiàng)目中。CreateInstance之間是否有額外的步驟,然后能夠使用這些方法?這是我的DLL中的類:namespace DLL{
using System;
public class Class1
{
public void Output(string s)
{
Console.WriteLine(s);
}
}}這是我想要加載DLL的應(yīng)用程序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();
}
}}
- 3 回答
- 0 關(guān)注
- 1109 瀏覽
添加回答
舉報(bào)
0/150
提交
取消