插件式编程
定义插件接口类,接口中定义需要的沟通方法
在组件中某类继承该插件接口,实现方法
实现
1
2
3
4
5
6
7
8
9
10
11
12
13//加载组件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(实例名, 函数参数)//调用该方法
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AlMirai!