Estava navegando e vi um post em um blog que achei interessante sobre o uso dos métodos de extensão. A falta de um método para obter os itens selecionados dos componentes herdados do ListControl, como por exemplo: CheckBoxList, ListBox, etc, pode ser resolvido através dos métodos de extensão.

using System.Collections.Generic;
using System.Web.UI.WebControls;

namespace ListControlExtensions{
    public static class ListExtensions{
        public static List<ListItem> SelectedItems(this 
ListControl list){
            List<ListItem> items = new List<ListItem>();
            foreach (ListItem item in list.Items){
                if (item.Selected){
                    items.Add(item);
                }
            }
            return items;
        }
    }
}
Anúncios