C# 插件式编程
程序员文章站
2023-02-18 12:21:42
定义插件接口类,接口中定义需要的沟通方法 在组件中某类继承该插件接口,实现方法 //加载组件DLL Assembly ab = Assembly.LoadFrom(file); Type[] types = ab.GetTypes(); foreach (Type t in types) { //如... ......
- 定义插件接口类,接口中定义需要的沟通方法
- 在组件中某类继承该插件接口,实现方法
-
//加载组件dll
assembly ab = assembly.loadfrom(file);
type[] types = ab.gettypes();
foreach (type t in types)
{
//如果某些类实现了预定义的插件接口,则认为该类适配与主程序(是主程序的插件)
if (t.getinterface("预定义的插件接口")!=null)
{
object o = ab.createinstance(t.fullname);//创建该类实例
methodinfo method = t.getmethod("方法名");//获得该类某方法
object returnvalue = method.invoke(实例名, 函数参数)//调用该方法
}
}