在包更新后出现自动程序类型转换错误
本文关键字:程序 错误 类型转换 包更新 更新 | 更新日期: 2023-09-27 18:02:48
我在一个相对较旧的项目上更新了Automapper包。我很难理解在这个类中需要改变什么(或者问题是否存在于其他地方)。
我:
"'ResolutionContext'不包含SourceValue的定义,也没有扩展方法…"
public class PagedListConverter<T1, T2> : ITypeConverter<IPagedList<T1>, IPagedList<T2>>
{
public IPagedList<T2> Convert(ResolutionContext context)
{
var models = (StaticPagedList<T1>)context.SourceValue; // Error
var viewModels = models.Select(Mapper.Map<T1, T2>);
return new StaticPagedList<T2>(viewModels, models.PageNumber,
models.PageSize, models.TotalItemCount);
}
}
他们改变了ITypeConverter
。所以你需要像这样修改你的代码:
public class PagedListConverter<T1, T2> : ITypeConverter<IPagedList<T1>, IPagedList<T2>>
{
public IPagedList<T2> Convert(
IPagedList<T1> source,
IPagedList<T2> destination,
ResolutionContext context)
{
var models = (StaticPagedList<T1>)source;
var viewModels = models.Select(Mapper.Map<T1, T2>);
return new StaticPagedList<T2>(
viewModels,
models.PageNumber,
models.PageSize,
models.TotalItemCount);
}
}