反射工厂类

   在.net 中,使用反射工厂类,可以方位动态链接库中 对象的元数据,动态创建对象,

具体理论以及实现这里不再详述。

   现在引用一段代码,简单表示一下:

       /// <summary>
        /// 使用没有添加引用的dll
        /// </summary>
        /// <typeparam name="T">要创建对象的类型</typeparam>
        /// <param name="assemblyName">类型所在程序集名称</param>
        /// <param name="nameSpace">类型所在命名空间</param>
        /// <param name="className">类型名</param>
        /// <returns></returns>
        public static T CreateInstance<T>(string assemblyName, string nameSpace, string className)
        {
            try
            {
                string fullName = nameSpace + "." + className;//命名空间.类型名
                //assemblyName = dll所在的绝对路径 例如 c:\TClass\obj.dll
                object ect = Assembly.LoadFile(assemblyName).CreateInstance(fullName);//加载程序集,创建程序集里面的 命名空间.类型名 实例
                return (T)ect;//类型转换并返回
            }
            catch
            {
                //发生异常,返回类型的默认值
                return default(T);
            }
        }

posted @ 2016-11-19 14:37  佳序  阅读(119)  评论(0编辑  收藏  举报