反射工厂类

   在.net 中,使用反射工厂类,能够方位动态连接库中 对象的元数据,动态建立对象,.net

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

   如今引用一段代码,简单表示一下:string

       /// <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);
            }
        }

class

相关文章
相关标签/搜索