새 버전의 AutoMapper에서 IValueResolver 인터페이스를 구현하려고했습니다. 다음 난, ResolveUsing 문맥AutoMapper IValueResolver가 오류를 throw합니다. 형식을 generic 형식 또는 메서드의 형식 매개 변수 'TValueResolver'로 사용할 수 없습니다.
에러 19 종류 에러를 얻고있어 여기
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<Resource, GanttResource>()
.ForMember(dst => dst.TypeName, opt => opt.ResolveUsing<ResourceTypeResolver>()));
}
구성
매퍼 내측이 ResourceTypeResolver를 사용하면 난 ..public interface IValueResolver<in TSource, in TDestination, TDestMember>
{
TDestMember Resolve(TSource source, TDestination destination, TDestMember destMember, ResolutionContext context);
}
public class ResourceTypeResolver : IValueResolver<PMEasy.Model.Entity.Resource, PMEasy.Web.Models.Gantt.GanttResource, string>
{
private ILookupService LookupService;
public ResourceTypeResolver(ILookupService lookupService)
{
LookupService = lookupService;
}
public string Resolve(PMEasy.Model.Entity.Resource source, PMEasy.Web.Models.Gantt.GanttResource destination, string member, ResolutionContext context)
{
if (source.Type.HasValue && source.Type != Guid.Empty)
{
var resourceType = LookupService.GetLookupListByName("ResourceType").Where(con => con.GUID == source.Type.Value).FirstOrDefault();
return resourceType != null ? resourceType.Value : string.Empty;
}
else return "Work";
}
}
ResourceTypeResolver 클래스 구현 'PMEasy.Web.AutoMapper.ResourceTypeResolver'는 제네릭 형식 또는 메서드 'AutoMapper.IMemberConfigurationExpression.ResolveUsing()'에서 형식 매개 변수 'TValueResolver'로 사용할 수 없습니다. 'PMEasy.Web.AutoMapper.ResourceTypeResolver'에서 'AutoMapper.IValueResolver'로의 암시 적 참조 변환은 없습니다. D : \ PMEasy \ Development \ PMEasyDev \ PMEasy.Web \ App_Start \ AutoMapperConfig.cs 58 59 PMEasy.Web
어떤 아이디어로이 문제를 해결할 수 있습니까?
위대한 !! 나는 IValueResolver를 제거하고 잘 동작한다. –