У меня возникли проблемы с преобразованием объекта списка обратно в исходный тип без явного приведения. Мое намерение состоит в том, чтобы обобщить методы, чтобы я мог передавать различные типы БД, такие как Person или Company. У меня нет проблем с получением значений с помощью отражения, но мне нужно преобразовать фактический список обратно в исходный тип List<typeT>
вместо List<object>
в методе, которому я его передаю. Мне известны следующие методы:
SomeList.ConvertAll(x => (typeT)x);
SomeList.Cast<typeT>().ToList();
Однако для этих методов мне придется явно указать typeT. Я пробовал следующее:
formatted1.ConvertAll(x => Convert.ChangeType(x, typeT));
и
List<dynamic> newList = new List<dynamic>();
foreach (var p in SomeList)
{
newList.Add(Convert.ChangeType(p, typeT);
}
Пока безуспешно. Может быть, мне следует иметь другой план игры -для обобщения этих методов в целом. прямо сейчас я передаю списки следующим образом:
public string returnJson(List<object> entity, string someString)
{
}