C# 写一个动态加载DLL的程序 怎么写?
发布网友
发布时间:2022-05-05 00:55
我来回答
共3个回答
热心网友
时间:2022-06-28 00:18
我准备给你演示一下,
步骤如下:
我发一个exe和一个dll给你
你新建一个类库项目,引用我的dll,任意写个方法实现dll里面的接口,然后编译生成新的dll
这两个dll都与exe放在一个目录,然后你运行exe,就看到你编写的代码再exe里面运行,
你新建的那个dll就是我那个exe的插件。
如果你真的想尝试一下就留联系吧!
热心网友
时间:2022-06-28 00:18
实现原理用反射,发个简单源码给你
System.Reflection.Assembly assembly = System.Reflection.Assembly.LoadFile("c://TestMyFile.dll");//加成程序集
//创建类实例
object obj = assembly.CreateInstance("TestMyFile.MyClass");//创建类MyClass的实例
obj.GetType().GetMethods();//获取所有方法
obj.GetType().GetProperties();//获取所有属性
TestMyFile.dll的代码
namespace TestMyFile
{
public class MyClass
{
private string _myname;
public string MyName
{
get { return _myname; }
set { _myname = value; }
}
public string GetName()
{
return MyName;
}
}
}
你还可以自己定义一个接口,然后让动态DLL实现这个接口,这样就更简单追问能否把代码稍微具体一点
我通过 GetMethod 获取到了 GetName() 这个方法 那么怎么执行呢?
我通过 GetProperty 获取到了 MyName 怎么获取到他的值呢?
热心网友
时间:2022-06-28 00:19
直接添加引用就行了