private static IMemberInjection CreateMethodInjection(IComponentInfo ctx, IKernel kernel, MethodInfo m, InjectAttribute att) { var ps = m.GetParameters(); List <IDependency> dependencyList = new List <IDependency>(ps.Length); foreach (var p in ps) { if (p.ParameterType.IsByRef || p.IsRetval || p.IsOut) { return(null); } dependencyList.Add(AttributeProviderInspector.InspectParameter(ctx, kernel, p)); } var id = att != null ? att.Id : string.Empty; var injection = new MethodInjection(dependencyList.ToArray())//方法注入元数据 { Member = m, Method = DynamicMethodFactory.GetProc(m), Reinjection = att.Reinjection, }; return(injection); }