//===================== private void GetSubForums(string separator, Forum forum, GetForumFilter filter, ref ForumCollection forums, ref List <string> forumSeparators) { ForumCollection childForums = forum.AllSubForums; foreach (Forum tempForum in childForums) { if (filter == null || filter(tempForum)) { forums.Add(tempForum); forumSeparators.Add(separator); GetSubForums(separator + separator, tempForum, filter, ref forums, ref forumSeparators); } } }
/// <summary> /// 筛选出所有符合条件的版块 /// </summary> /// <param name="filter"></param> /// <returns></returns> internal ForumCollection GetForums(GetForumFilter filter) { ForumCollection result = new ForumCollection(); foreach (Forum forum in GetAllForums()) { if (filter(forum)) { result.Add(forum); } } return(result); }
/// <summary> /// /// </summary> /// <param name="separator"></param> /// <param name="filter">如果为null则返回所有版块</param> /// <param name="forums"></param> /// <param name="forumSeparators"></param> public void GetTreeForums(string separator, GetForumFilter filter, out ForumCollection forums, out List <string> forumSeparators) { ForumCollection rootForums = GetCategories(); forums = new ForumCollection(); forumSeparators = new List <string>(); foreach (Forum forum in rootForums) { if (filter == null || filter(forum)) { forums.Add(forum); forumSeparators.Add(string.Empty); GetSubForums(separator, forum, filter, ref forums, ref forumSeparators); } } }