Unity学习笔记:依赖注入

Posted 雨~桐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity学习笔记:依赖注入相关的知识,希望对你有一定的参考价值。

Unity具体实现依赖注入包含构造函数注入、属性注入、方法注入,所谓注入相当赋值,下面一个一个来介绍

1:构造函数注入

 1.1当类有多个构造函数时,可以通过InjectionConstructor特性来指定某个构造函数来解析注入对象。

 

[InjectionConstructor]
 public Student(IClass _class,string name) 
{ 
    ToClass = _class; 
    Name = name; 
}

 1.2构造函数中IClass参数,如果IUnityContainer注册了多个,默认是使用无名称的那个注册,也可以通过Dependency依赖哪个名称来指定哪个来注册,代码,指定myClass名称如下。

[InjectionConstructor] 
public QlinStudent([Dependency("myClass")]IClass _class)
 { 
    ToClass = _class; 
}

2:属性注入

就是Unity容器解析对象时,为属性赋值,有操作权限要Public修饰属性。属性注入方式和构造函数注入类似,只需在需要注入的属性上增加一个Dependency特性,Dependency指定一个注册名称name参数用来指定注入对象的名称,属性注入也是伴随着类型初始化时注入的,在解析时自动注入,所以解析时跟以前一样。

[Dependency("myClass")]
public IClass ToClass { get; set; }

3:方法注入

用public修饰方法,方法注入也是跟构造函数类似代码修改如下

[InjectionMethod] 
public void InitClass(IClass _class) 
{
     ToClass = _class; 
}

 

以上是关于Unity学习笔记:依赖注入的主要内容,如果未能解决你的问题,请参考以下文章

Unity学习笔记:注册映射

Unity 依赖注入

Unity Shader入门精要学习笔记 - 第5章 开始 Unity Shader 学习之旅

Java Spring学习笔记----Bean的依赖注入

Unity构造函数注入代码示例

Spring学习笔记4:依赖注入 DI