Skip to content

Instantly share code, notes, and snippets.

@mczachurski
Created October 10, 2017 18:35
Show Gist options
  • Save mczachurski/1e1054240102af7480f1c805b6151dc0 to your computer and use it in GitHub Desktop.
Save mczachurski/1e1054240102af7480f1c805b6151dc0 to your computer and use it in GitHub Desktop.
public class GraphQLQuery : ObjectGraphType
{
public GraphQLQuery(IServiceProvider serviceProvider)
{
var type = typeof(IResolver);
var resolversTypes = AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(s => s.GetTypes())
.Where(p => type.IsAssignableFrom(p));
foreach(var resolverType in resolversTypes)
{
var resolverTypeInterface = resolverType.GetInterfaces().Where(x => x != type).FirstOrDefault();
if(resolverTypeInterface != null)
{
var resolver = serviceProvider.GetService(resolverTypeInterface) as IResolver;
resolver.Resolve(this);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment