zoukankan      html  css  js  c++  java
  • 根据字符串返回类型

    在C#编程过程中,使用Type.GetType(string)方法来获取一个字符串对应的类型,但是这个字符串的搜索并不是所有的程序集和引用的程序集中的。所以要自已写个。

    /// <summary>
            /// 运行及引用的程序集的类型搜索
            /// </summary>
            /// <param name="type"></param>
            /// <returns></returns>
            private static Type GetTypeFromAssembly(string type)
            {
                var x = Type.GetType(type, false, true);
                if (x != null)
                    return x;
    
                var executingAssembly = Assembly.GetExecutingAssembly();
                x = executingAssembly.GetType(type);
                if (x != null)
                    return x;
    
                var assNames = executingAssembly.GetReferencedAssemblies();
                foreach (var name in assNames)
                {
                    if (name.FullName.StartsWith("System", StringComparison.OrdinalIgnoreCase) || name.FullName.StartsWith("mscorlib", StringComparison.OrdinalIgnoreCase))
                        continue;
                    var assembly = Assembly.Load(name);
                    x = assembly.GetType(type);
                    if (x != null)
                        return x;
                }
                return null;
                throw new TypeLoadException(string.Format("所有运行中的程序集中没有发现{0}的类型。", type));
            }
  • 相关阅读:
    网络相关命令
    jmeter压力测试接口
    mysql+mycat+centos7
    centos7开放端口
    mysql主从库配置文件
    读写分离
    Memcached与Redis的区别和选择
    mybatis 学习
    redis 轻松入门
    swagger 框架使用
  • 原文地址:https://www.cnblogs.com/atwind/p/3049476.html
Copyright © 2011-2022 走看看