比方说,我们有一个类泛型列表/子表处理
class ComplexCls
{
public int Fld1;
public string Fld2;
//could be more fields
}
class Cls
{
public int SomeField;
}
,然后一些代码
class ComplexClsList: List<ComplexCls>;
ComplexClsList myComplexList;
// fill myComplexList
// same for Cls
class ClsList : List<Cls>;
ClsList myClsList;
我们要填充从myComplexList myClsList,像(伪)的东西:
foreach Complexitem in myComplexList
{
Cls ClsItem = new Cls();
ClsItem.SomeField = ComplexItem.Fld1;
}
执行此操作的代码很简单,将放入myClsList的某些方法中。 但是我想为通用ComplexCls尽可能通用地设计它。 请注意,在使用此代码时,确切的ComplexCls是已知的,只有shd算法是通用的。
我知道它可以使用(直接)反射来完成,但是还有其他解决方案吗? 让我知道,如果问题不够清楚。 (可能不是)。编辑]基本上,我需要的是:有myClsList,我需要指定一个DataSource(ComplexClsList)和一个字段从该数据源(Fld1)将用于填充我的SomeField
听起来像你正在寻找AutoMapper – SLaks
当你从'List'继承时,你已经拿走了通用解决方案的能力。我想我们需要更多的细节.. –
我刚刚编辑了我的问题,请再读一遍。你们很快! – user628661