private void comboBoxPostsFilter_SelectedIndexChanged(object sender, EventArgs e) { ePostsFilterType type = (ePostsFilterType)comboBoxPostsFilter.SelectedIndex; m_PostFilterBase = PostsFilterBase.GetPostsFilter(type); m_PostFilterBase.FilterPosts(); }
/// <summary> /// Factory method, returns the concrete filter /// </summary> /// <param name="i_FilterType">Filter type to be used</param> /// <returns>A concrete filter object</returns> public static PostsFilterBase GetPostsFilter(ePostsFilterType i_FilterType) { switch (i_FilterType) { case ePostsFilterType.MostRecent: return(new RecentPostsFilter()); case ePostsFilterType.WithLikes: return(new PostsWithLikesFilter()); case ePostsFilterType.WithComments: return(new PostsWithCommentsFilter()); case ePostsFilterType.All: default: return(new PostsWithNoFilter()); } }