private IList <MemberBinding> GetMemberBindings(IContainerContext containerContext, IServiceRegistration serviceRegistration, ResolutionContext resolutionContext) { var length = serviceRegistration.InjectionMembers.Length; var members = new List <MemberBinding>(); for (var i = 0; i < length; i++) { var info = serviceRegistration.InjectionMembers[i]; if (!serviceRegistration.CanInjectMember(info)) { continue; } var expression = containerContext.ResolutionStrategy .BuildResolutionExpression(containerContext, resolutionContext, info.TypeInformation, serviceRegistration.RegistrationContext.InjectionParameters); if (expression == null) { continue; } members.Add(info.MemberInfo.AssignTo(expression)); } return(members); }
private IEnumerable <Expression> FillMembersExpression(IContainerContext containerContext, IServiceRegistration serviceRegistration, ResolutionContext resolutionContext, Expression instance) { var length = serviceRegistration.InjectionMembers.Length; var expressions = new List <Expression>(); for (var i = 0; i < length; i++) { var member = serviceRegistration.InjectionMembers[i]; if (!serviceRegistration.CanInjectMember(member)) { continue; } var expression = containerContext.ResolutionStrategy .BuildResolutionExpression(containerContext, resolutionContext, member.TypeInformation, serviceRegistration.RegistrationContext.InjectionParameters); if (expression == null) { continue; } expressions.Add(instance.Member(member.MemberInfo).AssignTo(expression)); } return(expressions); }