public static List <ListItemObject> PopulateList <T>(List <T> items, string nameProperty, string valueProperty) { List <ListItemObject> list = new List <ListItemObject>(); items.ForEach(i => { ListItemObject obj = new ListItemObject(); var props = typeof(T).GetProperties(); foreach (PropertyInfo propInfo in props) { fillListObject <T>(nameProperty, valueProperty, i, obj, propInfo); } list.Add(obj); }); return(list); }
private static void fillListObject <T>(string nameProperty, string valueProperty, T i, ListItemObject obj, PropertyInfo propInfo) { if (propInfo.Name == nameProperty) { obj.Name = propInfo.GetValue(i, null).ToString(); } if (propInfo.Name == valueProperty) { obj.Value = propInfo.GetValue(i, null).ToString(); } }