namespace Blue { public static class ICanSendQueryExtension { private static IQueryHandler _queryHandler; public static void SetQueryHandler(IQueryHandler queryHandler) { _queryHandler = queryHandler; } public static R SendQuery(this ICanSendQuery self) where Q : IQuery,new() { return _queryHandler.DoQuery(); } public static R SendQuery(this ICanSendQuery self, IQuery queryInstance) { return _queryHandler.DoQuery(queryInstance); } public static IQueryResult SendQueryAsync(this ICanSendQuery self) where Q : IQuery,new() { return _queryHandler.DoQueryAsync(); } public static IQueryResult SendQueryAsync(this ICanSendQuery self, IQuery queryInstance) { return _queryHandler.DoQueryAsync(queryInstance); } } }