/// <inheritdoc /> public TResult Query <TQuery, TResult>(TQuery query) where TQuery : class, IQuery <TResult> { query.Requires(typeof(TQuery).FullName) .IsNotNull(); var handler = queryFactory.BuildHandler <TQuery, TResult>(); handler.Requires(typeof(IQuery <TResult>).FullName) .IsNotNull(); return(handler.Handle(query)); }