O.O*_*O.O 2 c# generics .net-4.5
我在我的界面上定义了一堆方法,如下所示:
T Map<T>( SomeType someParam );
Run Code Online (Sandbox Code Playgroud)
并实现如下:
public T Map<T>( SomeType someParam )
{
return AutoMapper.Mapper.Map<SomeType, T>( someParam );
}
Run Code Online (Sandbox Code Playgroud)
如何简化我的界面,以便我只有一个方法:
T Map<T>(T someParam);
Run Code Online (Sandbox Code Playgroud)
和
public T Map<T>( T someParam )
{
return AutoMapper.Mapper.Map<T, T>( someParam );
}
Run Code Online (Sandbox Code Playgroud)
但是,当我以这种方式实现它时,我收到有关从SomeType和另一种类型转换的转换错误.这可能与泛型有关,怎么样?
只需提供更通用的类型参数:
public T1 Map<T1,T2>( T2 someParam){
return AutoMapper.Mapper.Map<T1, T2>( someParam);
}
Run Code Online (Sandbox Code Playgroud)