J'ai besoin d'un moyen pour créer une méthode d'extension à partir d'un IEnumerable qui me permettra de renvoyer une liste de SelectListItem.
Par exemple
public class Role
{
public string Name {get;set;}
public string RoleUID {get;set;}
}
IEnumerable<Role> Roles = .../*Get Roles From Database*/
var selectItemList = Roles.ToSelectItemList(p => p.RoleUID,r => r.Name);
cela me donnerait une liste SelectItemList dont le nom serait l'affichage et le RoleUID la valeur.
IMPORTANT Je veux que ce soit générique afin de pouvoir le créer avec deux propriétés quelconques d'un objet, et pas seulement un objet de type Role.
Comment faire ?
J'imagine quelque chose comme ce qui suit
public static List<SelectItemList> ToSelectItemList<T,V,K>(this IEnumerable<T>,Func<T,V,K> k)
ou quelque chose comme ça, je sais évidemment que ce serait incorrect.