private static IDependencyResolutionRequest TranslateContext(IContext context) { Stack <IRequest> requestStack = new Stack <IRequest>(); IRequest requestToAdd = context.Request; while (requestToAdd != null) { requestStack.Push(requestToAdd); requestToAdd = requestToAdd.ParentRequest; } IDependencyResolutionRequest wrappedDependencyRequest = null; foreach (IRequest request in requestStack) { var target = request.Target; if (target == null) { continue; } var member = target.Member; if (member == null) { continue; } var declaringType = member.DeclaringType; if (declaringType == null) { continue; } wrappedDependencyRequest = new DependencyResolutionRequest(declaringType, wrappedDependencyRequest); } return(wrappedDependencyRequest); }
public DependencyResolutionContext(IDependencyResolutionRequest request) { Request = request; }
public DependencyResolutionRequest(Type requestedType, IDependencyResolutionRequest parentRequest = null) { RequestedType = requestedType; ParentRequest = parentRequest; }