Вы пытаетесь неявно преобразовать Test
в Test2
объекты.Простой способ исправить ваш код - это создать Test2
объекты:
lstTest2 = lstTest.ConvertAll(x => new Test2 { Name = x.Name, Score = x.Score });
Даже если базовая структура идентична, вы не можете привести от Test
до Test2
.Если вы хотите привести в явном виде, вы должны определить оператор приведения:
class Test2 {
// all code of class Test2
public static explicit operator Test2(Test v)
{
return new Test2 { Name = v.Name, Score = v.Score };
}
}
Затем вы можете привести в ConvertAll
:
lstTest2 = lstTest.ConvertAll(x => (Test2)x);