我在接口上定义了很多方法,如下所示:

T Map<T>( SomeType someParam );


并实现如下:

public T Map<T>( SomeType someParam )
{
  return AutoMapper.Mapper.Map<SomeType, T>( someParam );
}


如何简化我的界面,以便仅使用一种方法,例如:

T Map<T>(T someParam);




public T Map<T>( T someParam )
{
  return AutoMapper.Mapper.Map<T, T>( someParam );
}


但是,当我以这种方式实现它时,出现了有关从SomeType和其他类型进行转换的转换错误。这可能与泛型有关吗?

最佳答案

只需提供更多通用类型参数:

public T1 Map<T1,T2>( T2 someParam){
  return AutoMapper.Mapper.Map<T1, T2>( someParam);
}

10-06 14:45