コード例 #1
0
ファイル: ForumBO.cs プロジェクト: zhangbo27/bbsmax
        //=====================

        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);
                }
            }
        }
コード例 #2
0
ファイル: ForumBO.cs プロジェクト: zhangbo27/bbsmax
        /// <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);
        }
コード例 #3
0
ファイル: ForumBO.cs プロジェクト: zhangbo27/bbsmax
        /// <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);
                }
            }
        }