public static void Inject(object obj) { var type = obj.GetType(); var fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); foreach (var field in fields) { componentsInjector.InjectComponent(obj, field); componentsInjector.InjectComponentFromChild(obj, field); componentsInjector.InjectComponentFromObject(obj, field); componentsInjector.InjectAsSingle(obj, field); componentsInjector.InjectAsTransient(obj, field); componentsInjector.InjectFactory(obj, field); } }