Учитывая следующую функцию, как мне преобразовать из List<dynamic> back to List<T>
?
Линия var retval = (IEnumerable<T>)Convert.ChangeType(normalised, typeof(IEnumerable<dynamic>));
не работает. Исключение, которое я получаю: «объект должен реализовывать IConvertible
»
public static IEnumerable<T> NormalizeZeroAndOne<T>(this IEnumerable<T> list)
{
var max = list.Max();
var min = list.Min();
T range = ((dynamic)max - (dynamic)min);
//var range = (max - min);
var normalised
= list.Select(i => ((dynamic)i - (dynamic)min) / range)
.ToList();
var retval = (IEnumerable<T>)Convert.ChangeType(normalised, typeof(IEnumerable<dynamic>));
return retval;
}