public void InitializeSupportedQueries(Func <Query, IEnumerable <object[]> > getDefaultResult, Func <Query, string[]> getColumnNames, Func <Query, string> getPattern) { if (_isInitialized) { return; } _isInitialized = true; foreach (Query query in Enum.GetValues(typeof(Query))) { IEnumerable <object[]> values = getDefaultResult(query); _resultManager.AddItem(query, x => new Regex(getPattern(query)).IsMatch(x.CommandText), getColumnNames(query), getDefaultResult(query)); } }