static IEnumerable <Student> GetGradedStudents(List <Student> students, GradeFilter filter) { foreach (var student in students) { if (filter(student)) { yield return(student); } } }
private void InsertMagicFilters() { var magicTypeFilters = new TypeFilter("TFmagic") { Checked = true, Magic = true }; TypeFilters.Insert(0, magicTypeFilters); var magicEngineerFilters = new EngineerFilter("EFmagic") { Checked = true, Magic = true }; EngineerFilters.Insert(0, magicEngineerFilters); var magicGradeFilter = new GradeFilter("GFmagic") { Checked = true, Magic = true }; GradeFilters.Insert(0, magicGradeFilter); magicGradeFilter.PropertyChanged += (o, e) => { foreach (var filter in GradeFilters) { filter.Checked = magicGradeFilter.Checked; } }; magicEngineerFilters.PropertyChanged += (o, e) => { foreach (var filter in EngineerFilters) { filter.Checked = magicEngineerFilters.Checked; } }; magicTypeFilters.PropertyChanged += (o, e) => { foreach (var filter in TypeFilters) { filter.Checked = magicTypeFilters.Checked; } }; }