private IEnumerable <Book> GetMatchedBooks(ISearchCriteria <Book> searchCriteria) { foreach (var book in this.books) { if (searchCriteria.IsMatch(book)) { yield return(book); } } }
/// <summary> /// Finds book by criteria. /// </summary> /// <param name="searchCriteria">Given criteria.</param> /// <returns>Found book.</returns> public Book FindBookByTag(ISearchCriteria <Book> searchCriteria) { foreach (var book in this.books) { if (searchCriteria.IsMatch(book)) { return(book); } } return(null); }