五维思考

学习要加,骄傲要减,机会要乘,懒惰要除。 http://www.5dthink.cn

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

public void ConfigureServices(IServiceCollection services)
{
    string strValue = Configuration.GetSection("Appsetings").GetSection("key").Value;
    foreach (var item in GetClassName(strValue))
    {
        foreach (var typeArray in item.Value)
        {
            services.AddScoped(typeArray, item.Key);
        }
    }

    services.AddMvc();
}

private static Dictionary<Type, Type[]> GetClassName(string assemblyName)
{
    if (!String.IsNullOrEmpty(assemblyName))
    {
        Assembly assembly = Assembly.Load(assemblyName);
        List<Type> ts = assembly.GetTypes().ToList();

        var result = new Dictionary<Type, Type[]>();
        foreach (var item in ts.Where(s => !s.IsInterface))
        {
            var interfaceType = item.GetInterfaces();
            if (item.IsGenericType) continue;
            result.Add(item, interfaceType);
        }
        return result;
    }
    return new Dictionary<Type, Type[]>();
}
posted on 2020-01-19 10:27  五维思考  阅读(342)  评论(0编辑  收藏  举报

QQ群:1. 全栈码农【346906288】2. VBA/VSTO【2660245】