码迷,mamicode.com
首页 > Windows程序 > 详细

c# 动态加载dll文件

时间:2019-03-29 20:45:41      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:bsp   for   get   reac   lse   文件   cee   string   函数   

 /// <summary>
        /// 动态加载DLL
        /// </summary>
        /// <param name="lpFileName">DLL路径</param>
        /// <param name="Namespace">命名空间</param>
        /// <param name="ClassName">类名</param>
        /// <param name="lpProcName">公共函数名</param>
        /// <param name="ObjArray_Parameter"></param>
        /// <returns></returns>
        private object Invoke(string lpFileName, string Namespace, string ClassName, string lpProcName, object[] ObjArray_Parameter)
        {
            try
            { // 载入程序集
                Assembly MyAssembly = Assembly.LoadFrom(lpFileName);
                Type[] type = MyAssembly.GetTypes();
                foreach (Type t in type)
                {// 查找要调用的命名空间及类
                    if (t.Namespace == Namespace && t.Name == ClassName)
                    {// 查找要调用的方法并进行调用
                        MethodInfo m = t.GetMethod(lpProcName);
                        if (m != null)
                        {
                            object o = Activator.CreateInstance(t);
                            return m.Invoke(o, ObjArray_Parameter);
                        }
                        else MessageBox.Show(" 装载出错 !");
                    }
                }
            }
            catch (System.NullReferenceException e)
            {
                MessageBox.Show(e.Message);
            }
            return (object)0;
        }

 

c# 动态加载dll文件

标签:bsp   for   get   reac   lse   文件   cee   string   函数   

原文地址:https://www.cnblogs.com/z45281625/p/10623716.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!