public override void RegisterDependencies(IMutableDependencyResolver resolver) { var proxy = new DependencyResolverProxy(resolver); base.RegisterDependencies(proxy); AssertContainsTypes(proxy, typeof(RouterConfig), typeof(IRouter), typeof(IObjectStateStore)); }
private void AssertContainsTypes(DependencyResolverProxy proxy, params Type[] types) { var missingTypes = new List <Type>(types.Length); missingTypes.AddRange(types.Where(t => !proxy.RegisteredServices.Contains(t))); if (missingTypes.Count <= 0) { return; } var missingTypesStr = String.Join(", ", missingTypes.Select(t => t.ToString()).OrderBy(s => s)); throw new InvalidOperationException("Application is missing required registrations: " + missingTypesStr); }