private void InstallServices(FlumeServiceContainer container) { var dependencies = ResolveDependencies(); foreach (var activatedDependency in dependencies) { var bindingFlags = BindingFlags.Public | BindingFlags.Instance; var registerMethod = container.GetType() .GetMethods(bindingFlags) .Where(m => m.Name == nameof(FlumeServiceContainer.Register)) .ElementAt(1) .MakeGenericMethod(activatedDependency.ServiceType); registerMethod?.Invoke(container, new[] { activatedDependency.Instance }); } }
public void SetUp() { _container = new GameObject("Container") .AddComponent <FlumeServiceContainer>(); }