У нас был собственный метод расширения объекта, который обрабатывал следующее.
- Источник
DataRow
цельclass
. - Источник
DataTable
цельList<class>
- Источник
class
цельclass
- Источник
List<class>
цельList<class>
Я нашел ValueInjecter и DataTable, поэтому я могу обрабатывать DataRow и DataTable.
Итак, я шаг, где я склеить все это вместе.
Вот что я пробовал.
public static class ObjectExtensions
{
public static void OldFill(this object fillMe, object sourceObject)
{
Type sourceType = sourceObject.GetType();
Type fillType = fillMe.GetType();
switch (sourceType.Name)
{
case "DataRow":
fillMe.InjectFrom<DataRowInjection>(sourceObject);
break;
case "DataTable":
fillMe.InjectFrom<DataTableInjection<fillType>>(sourceObject);
break;
default:
fillMe.InjectFrom(sourceObject);
break;
}
}
}
Не знаю, как получить правильный fillType
, чтобы код работал правильно.
Поскольку это устаревший код, я не хочу менять сигнатуру расширения.