嗨,有几个实现一个接口的类。我想将ILoad列表中的各项转换为这样的具体类,我想调用工厂转换器来获得另一种类型。
List<ILoad> list = new List<ILoad>();
list = GetALlIloads();
Factory f = new Factory();
foreach (var item in list)
{
var typeOfObject = item.GetType();
var concreteType = **(typeOfObject)**item;
var converted = f.ConvertToMeasure(concreteType );
}
public class A: Iload
{
// something
}
publicclass B: ILoad
{
//Something
}
public class Factory
{
public List<Measure> ConvertToMeausre(A model)
{
return some List<Measure>
}
public List<Measure> ConvertToMeausre(B model)
{
return some List<Measure>
}
}
您可以像这样使用动态类型
List<ILoad> list = new List<ILoad>();
list = GetALlIloads();
Factory f = new Factory();
foreach (var item in list)
{
dynamic concreteType = item;
var converted = f.ConvertToMeasure(concreteType);
}
public class A: Iload
{
// something
}
public class B: ILoad
{
//Something
}
public class Factory
{
public List<Measure> ConvertToMeausre(A model)
{
return some List<Measure>
}
public List<Measure> ConvertToMeausre(B model)
{
return some List<Measure>
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句