public static object CreateInstance(TinyContainer container, ConstructorInfo constructor) { var parameters = constructor.GetParameters(); object[] args = parameters.Select(p => container.Resolve(p.ParameterType)).ToArray(); return(constructor.Invoke(args)); }
public object Resolve(TinyContainer container, out bool shoudRelease) { shoudRelease = false; if (!resolved) { var constructor = TypeHelper.GetConstructor(dependencyType); dependency = TypeHelper.CreateInstance(container, constructor); resolved = true; } return(dependency); }
public object Resolve(TinyContainer container, out bool shouldRelease) { shouldRelease = isDisposable; return(TypeHelper.CreateInstance(container, constructor)); }