一、目的
一是正在开发的通用Api快速开发框架需要一个Ioc容器模块
二是正好借机继续深入学习.netcore
二、背景
事实上,网络上有很多现成能提供我们所需功能的产品;比方说autofac,功能相当强大,但同时也比较臃肿,而我们希望的是一款契合我们框架的简单易用、轻量级的产品;并且,我们也希望在实现这个产品的时候更深入的学习.netcore。
三、功能需求
1. 可以指定程序集搜索路径,默认是当前进程执行路径(已实现)
2. 可以根据类全名称创建一个实例,并且可根据传入的不同构造参数,调用不同的构造方法(已实现)
3. 可以根据配置文件的id创建一个实例(已实现)
4. 可以对生成的实例设置指定属性值(部分实现,简单类型属性)
5. 可以对生成的实例自动调用指定方法(尚未实现)
四、技术实现
1. 设置程序集搜索路径
这个比较简单,只是将用户设置的搜索路径存储起来以备后用,直接上代码
/// <summary> /// 添加程序集搜索位置 /// </summary> public static void AddSearchPath(string path) { AssemblyUtils.AddSearchPath(path); } /// <summary> /// 移除程序集搜索位置 /// </summary> public static void RemoveSearchPath(string path) { AssemblyUtils.RemoveSearchPath(path); }