• C# 依赖注入中的 控制反转(Assembly)实现


    2018-03-29 16:53:18 lm_home 阅读数 665更多

           对于刚接触依赖注入的人来说,什么面向切面,反射,依赖注入等等一时不好理解,  首先,都在说控制反转,既然有反转那么就会有控制正转,相信很多网上寻找控制反转资料中,很少有提到过正转。 正转也简单,就是我们通常调用的方式,由底层类库生产,逻辑层通过引用并进行new 实例化,进行调用,这就是正转,正转与之相反,不通过new直接调用,这就是反转,做过C#调用C++项目中的动态库时大概都知道,Assembly类

         下面代码以简单的叙述一下控制反转到底是什么:

    public void LoadAssembly(){
    	//DLL所在的绝对路径
    	Assembly assembly = Assembly.LoadFrom(AppDomain.CurrentDomain.BaseDirectory + "Entity.dll");
    	//注意写法:程序集.类名
    	Type type = assembly.GetType("Entity.ClassName");
    	//获取类中的公共方法GetResule
    	MethodInfo methed = type.GetMethod("MethodName");
    	//创建对象的实例
    	object instance = System.Activator.CreateInstance(type);
    	//执行方法 new object[]为方法中的参数
    	object result = methed.Invoke(instance, new object[] { });
    }

    很多依赖注入第三方开源,需要配置文件,或者代码配置命名空间也是这个原因

  • 相关阅读:
    微信验证代码
    微信内置浏览器的JS API
    伪类和伪元素
    asp.net core mvc 脚手架搭建过程介绍
    C#无锁内存队列
    关于微软OWIN的一篇好文章
    安装了Win10预览版10074,不能设置开发模式的bug解决
    关于Quartz的一些经历
    MEF接口应用初探
    简单的接口框架
  • 原文地址:https://www.cnblogs.com/grj001/p/12223923.html
Copyright © 2020-2023  润新知