Example #1
0
 private static IMemberInjection CreatePropertyInjection(IKernel kernel, PropertyInfo p, InjectManyAttribute manyAttr)
 {
     return(new PropertyInjection//字段注入元数据
     {
         Member = p,
         Reinjection = manyAttr != null ? manyAttr.Reinjection : true,
         Setter = p.ToMemberSetter(),//通过Emit的方式进行注入,
         Dependency = DependencyManager.Get(null, p.PropertyType, kernel, true)
     });
 }
Example #2
0
 private static IMemberInjection CreateFieldInjection(IKernel kernel, FieldInfo f, InjectManyAttribute manyAttr)
 {
     return(new FieldInjection//字段注入元数据
     {
         Member = f,
         Reinjection = manyAttr != null ? manyAttr.Reinjection : true,
         Setter = f.ToMemberSetter(),//通过Emit的方式进行注入,
         Dependency = DependencyManager.Get(null, f.FieldType, kernel, true)
     });
 }