Unity 的注入方法
- RegisterType:在container中注册类型和映射关系,当我们需要该类型的实例时,container会自动实例化该类型的对象,无需通过new实例化对象。
- RegisterType<Type>
- RegisterType< RegisteredType, TargetType >
- RegisterInstance:在container中注册一个已存在的实例。
参数说明:
- Type t 需要注册到容器中的类型
- string name
- Type from, Type to : from 是一个接口或类,to必须是实现该接口或继承该类
- lifetimeManager 生命周期控制器
- TransientLifetimeManager (RegisterType 默认) :每次调用Resolve或ResolveAll方法时都会实例化一个新的对象。
- ContainerControlledLifetimeManager(RegisterInstance 默认) :container中会保存对象的引用,每次调用Resolve或ResolveAll方法时都会返回同一个对象的引用。
- ExternallyControlledLifetimeManager:保持对象的弱引用
- PerThreadLifetimeManager :在同一个线程返回同一个对象实例,不同线程对象实例不相同
- injectionMembers :注入成员
强引用和弱引用
- 强引用:保持对对象的引用,不会被GC回收
- 弱引用:保持对对象的引用,可以被GC回收
Unity 的实例化
posted @
2011-07-14 15:47
EdisonZ
阅读(
413)
评论()
编辑
收藏
举报