Преобразовать список <dynamic>в список <T> - PullRequest
0 голосов
/ 23 апреля 2019

Учитывая следующую функцию, как мне преобразовать из 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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...