在下面列出的代码中,我需要确定TSource的类型。解析参数可以是,例如IList,或者只有Car等。在方法Model.Map<>中我需要解析类型的泛型类型。当解析参数是单个对象(Car,Boat ......)时,一切正常。问题是解析集合时。因此,我需要在参数收集时覆盖案例。
public class Convert<TSource, TDestination>
{
public static TDestination ToModel(TSource source)
{
Model.Map<TSource, TDestination>();
}
}
答案 0 :(得分:4)
您可以尝试 - 基于GetGenericArguments
var type = source.GetType().GetGenericArguments()[0];
链接:http://msdn.microsoft.com/fr-fr/library/system.type.getgenericarguments.aspx
答案 1 :(得分:0)