zoukankan      html  css  js  c++  java
  • 反射工厂类

       在.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:TClassobj.dll
                    object ect = Assembly.LoadFile(assemblyName).CreateInstance(fullName);//加载程序集,创建程序集里面的 命名空间.类型名 实例
                    return (T)ect;//类型转换并返回
                }
                catch
                {
                    //发生异常,返回类型的默认值
                    return default(T);
                }
            }

  • 相关阅读:
    POJ2054 Color a Tree
    洛谷【P1080】国王游戏
    BZOJ1707:[Usaco2007 Nov]tanning分配防晒霜
    BZOJ5281:[Usaco2018 Open]Talent Show
    浅谈二分
    BZOJ1720:[Usaco2006 Jan]Corral the Cows 奶牛围栏
    POJ2018 Best Cow Fences
    洛谷【P2115】[USACO14MAR]破坏Sabotage
    BZOJ 4244 邮戳拉力赛 (DP)
    UOJ #277 BZOJ 4739 [清华集训2016]定向越野 (计算几何、最短路)
  • 原文地址:https://www.cnblogs.com/hanjiaxu/p/6080520.html
Copyright © 2011-2022 走看看