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[]>();
}

相关文章:

  • 2021-07-28
  • 2022-01-27
  • 2021-09-17
  • 2021-06-19
  • 2022-02-15
  • 2022-12-23
  • 2022-02-28
猜你喜欢
  • 2021-08-14
  • 2021-06-14
  • 2023-02-24
  • 2022-02-17
  • 2022-02-13
  • 2021-09-13
相关资源
相似解决方案