我正在尝试升级一些不是从AutoMapper 4.0编写的代码。4至7.0。我遇到了一个问题。有一个类型转换器如下所示:
public class BaseListTypeConverter<TCol1, TCol2, T1, T2> : ITypeConverter<TCol1, TCol2>
where TCol1 : ICollection<T1>
where TCol2 : ICollection<T2>
where T1 : class
where T2 : class
{
public TCol2 Convert(ResolutionContext context)
{
var sourceList = (TCol1)context.SourceValue;
TCol2 destinationList = default(TCol2);
if (context.PropertyMap == null
|| context.Parent == null
|| context.Parent.DestinationValue == null)
destinationList = (TCol2)context.DestinationValue;
else
destinationList = (TCol2)context.PropertyMap.DestinationProperty.GetValue(context.Parent.DestinationValue);
...
SourceValue
DestinationValue
,
PropertyMap
或
Parent
财产。我想自从
Covert
方法具有源对象和目标对象的参数,我可以省略第一个参数
if
public class BaseListTypeConverter<TCol1, TCol2, T1, T2> : ITypeConverter<TCol1, TCol2>
where TCol1 : ICollection<T1>
where TCol2 : ICollection<T2>
where T1 : class
where T2 : class
{
public TCol2 Convert(TCol1 sourceList, TCol2 destinationList, ResolutionContext context)
{
...
但是参数
destinationList
是空的,所以很明显我还需要任何逻辑
如果
语句正在执行,但如何为AutoMapper 7重写它?