public void CanResolveServiceWithNonGenericMethod() { IServiceProvider provider = DI.GetGlobalServiceProvider(_testAssembly); Type serviceType = _testAssembly.GetType(TypeMixins.GetTypeName(typeof(IService), GetType())); Assert.IsTrue(provider.GetService(serviceType).Is <Service>(GetType())); }
private object Resolve <T>(IServiceScope scope = null) { string assemblyTypeName = TypeMixins.GetTypeName(typeof(T), GetType()); Type resolveType = _testAssembly.GetType(assemblyTypeName); return((scope?.ServiceProvider ?? DI.GetGlobalServiceProvider(_testAssembly)).GetService(resolveType, new object[0])); }
private object Resolve <T>() { string assemblyTypeName = TypeMixins.GetTypeName(typeof(T), GetType()); Type resolveType = _testAssembly.GetType(assemblyTypeName); IServiceProvider provider = DI.GetGlobalServiceProvider(_testAssembly); return(provider.GetService(resolveType, new object[0])); }
public void CanResolveServiceWithGenericMethod() { IServiceProvider provider = DI.GetGlobalServiceProvider(_testAssembly); Type serviceType = _testAssembly.GetType(TypeMixins.GetTypeName(typeof(IService), GetType())); var method = typeof(ServiceProviderServiceExtensions) .GetMethod(nameof(ServiceProviderServiceExtensions.GetService)) .MakeGenericMethod(serviceType); Assert.IsTrue(method.Invoke(null, new object[] { provider }).Is <Service>(GetType())); }
private static Type ResolveType(Type type) { string assemblyTypeName = TypeMixins.GetTypeName(type, typeof(ScopeTests)); return(_testAssembly.GetType(assemblyTypeName)); }