关键部分:
DLL:
public interface ITest
{
void test();
} public class Class1:ITest
{
public void test()
{
System.Console.WriteLine("hello word");
}
}调用:
public interface ITest
{
void test();
} private void button1_Click(object sender, System.EventArgs e)
{
Assembly asm = Assembly.LoadFrom(@"I:\MySoft\ToolsBox\CSharp\ClassLibrary1\bin\Debug\ClassLibrary1.dll");
ITest obj = (ITest)asm.CreateInstance("ClassLibrary1.Class1");
obj.test();
}
DLL:
public interface ITest
{
void test();
} public class Class1:ITest
{
public void test()
{
System.Console.WriteLine("hello word");
}
}调用:
public interface ITest
{
void test();
} private void button1_Click(object sender, System.EventArgs e)
{
Assembly asm = Assembly.LoadFrom(@"I:\MySoft\ToolsBox\CSharp\ClassLibrary1\bin\Debug\ClassLibrary1.dll");
ITest obj = (ITest)asm.CreateInstance("ClassLibrary1.Class1");
obj.test();
}
注意:他们不在相同的命名空间中!
接口应该时统一的。
then: Class1 c = new Class1();
ITest obj = c as ITest;
obj.test();
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public interface ITest
{
void test();
}
}
using System;
using ClassLibrary1;namespace ClassLibrary2
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Class1:ITest
{
public void test()
{
System.Console.WriteLine("hello word");
}
}
}然后你的窗体也引用ClassLibrary1,就可以了