泛型 - 返回不同类型的对象

本文关键字:对象 同类型 返回 泛型 | 更新日期: 2023-09-27 18:30:24

我的接口上定义了一堆方法,如下所示:

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);
}