欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 插件式编程

程序员文章站 2022-05-23 18:57:25
定义插件接口类,接口中定义需要的沟通方法 在组件中某类继承该插件接口,实现方法 //加载组件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(实例名, 函数参数)//调用该方法

    }

    }