public sealed override Exception TryResolve(ReflectionDomain reflectionDomain, RuntimeAssembly currentAssembly, bool ignoreCase, out RuntimeType result) { result = null; RuntimeType genericType; Exception typeLoadException = GenericType.TryResolve(reflectionDomain, currentAssembly, ignoreCase, out genericType); if (typeLoadException != null) { return(typeLoadException); } LowLevelList <RuntimeType> genericTypeArguments = new LowLevelList <RuntimeType>(); foreach (TypeName genericTypeArgumentName in GenericArguments) { RuntimeType genericTypeArgument; typeLoadException = genericTypeArgumentName.TryResolve(reflectionDomain, currentAssembly, ignoreCase, out genericTypeArgument); if (typeLoadException != null) { return(typeLoadException); } genericTypeArguments.Add(genericTypeArgument); } result = ReflectionCoreNonPortable.GetConstructedGenericType(genericType, genericTypeArguments.ToArray()); return(null); }