У нас был собственный метод расширения объекта, который обрабатывал бы следующее.
- Источник:
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
, чтобы заставить код работать правильно.
Поскольку это устаревший код, я не хочу менять подпись расширения.