ZhouliProject/Zhouli.DI/AutomaticInjection.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

#region 版权声明
/**************************************************************** 
 * 作    者:周黎 
 * CLR 版本:4.0.30319.42000 
 * 创建时间:2018/6/8 21:41:11 
 * 当前版本:1.0.0.1 
 *  
 * 描述说明: 
 * 
 * 修改历史: 
 * 
***************************************************************** 
 * Copyright @ ZhouLi 2018 All rights reserved 
 *┌──────────────────────────────────┐
 *│ 此技术信息周黎的机密信息,未经本人书面同意禁止向第三方披露. │
 *│ 版权所有:周黎               │
 *└──────────────────────────────────┘
*****************************************************************/
#endregion
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
namespace Zhouli.DI
{

    /// <summary>
    /// 自动注入依赖关系扩展类
    /// </summary>
    public static class AutomaticInjection
    {
        /// <summary>  
        /// 自动注入依赖关系
        /// </summary>  
        /// <param name="assemblyNames">需要扫描的项目名称集合</param>
        public static void AddResolveAllTypes(this IServiceCollection services, params string[] assemblyNames)
        {
            //assemblyNames 需要扫描的项目名称集合
            //注意: 如果使用此方法,必须提供需要扫描的项目名称
            if (assemblyNames.Length > 0)
            {
                foreach (var assemblyName in assemblyNames)
                {
                    Assembly assembly = Assembly.Load(assemblyName);
                    List<Type> ts = assembly.GetTypes().ToList();
                    foreach (var item in ts.Where(s => !s.IsInterface))
                    {
                        var interfaceType = item.GetInterfaces();
                        foreach (var typeArray in interfaceType)
                        {
                            if (!typeArray.IsGenericType)
                                services.AddScoped(typeArray, item);
                        }
                    }
                }
            }
        }

    }
后面还有 1 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。