C#动态加载dll创建对象,并调用方法
C#中有一种应用场景,就是根据供应商、服务商、平台等的不同,可以封装不同的类库,但是这些类库都实现同一套接口;
然后在配置文件或者数据库中配置,根据供应商、服务商、平台不同,动态的加载对应的dll,然后创建对象,调用方法;提高系统的扩展性。
示例代码:
// See https://aka.ms/new-console-template for more information
using System.Reflection;
using HotelPlatform;
internal class Program
{
private static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
Assembly assembly = Assembly.Load("HotelPlatform");
string className = "HotelPlatform.Order";
Type type = assembly.GetType(className);
//Order o = new Order();
//o.InsertOrder();
if (type != null)
{
object instance = Activator.CreateInstance(type);
string methodName = "InsertOrder";
MethodInfo methodInfo = instance.GetType().GetMethod(methodName);
if (methodInfo != null)
{
methodInfo.Invoke(instance, null);
}
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2019-08-21 .netFramework中新增的功能—.net最新信息—.net的发展
2017-08-21 Cookie窃取实验