C# 自动映射解析程序:无法转换
无法从“Project.Core.AppContainer.UserTypeResolver”转换为“AutoMapper.IValueResolver” 映射器配置C# 自动映射解析程序:无法转换,c#,automapper,C#,Automapper,无法从“Project.Core.AppContainer.UserTypeResolver”转换为“AutoMapper.IValueResolver” 映射器配置 public class MapperConfigurationFactory { public static MapperConfiguration GetConfiguration() { return new MapperConfiguration(cfg => {
public class MapperConfigurationFactory
{
public static MapperConfiguration GetConfiguration()
{
return new MapperConfiguration(cfg =>
{
cfg.DisableConstructorMapping();
cfg.CreateMap<User, UserViewModel>()
.ForMember(dest => dest.IsInternal, opt => opt.ResolveUsing(new UserTypeResolver()));
});
}
}
公共类MapPerConfiguration工厂
{
公共静态MapperConfiguration GetConfiguration()
{
返回新的MapperConfiguration(cfg=>
{
cfg.DisableConstructorMapping();
cfg.CreateMap()
.ForMember(dest=>dest.IsInternal,opt=>opt.resolvesusing(newusertyperesolver());
});
}
}
解析器
public class UserTypeResolver : IValueResolver<User, UserViewModel, string>
{
public string Resolve(User user, UserViewModel userViewModel, string userType, ResolutionContext context)
{
return user.IsSuperUser ? "Yes" : "No";
}
}
公共类UserTypeResolver:IValueResolver
{
公共字符串解析(用户用户、用户视图模型、用户视图模型、字符串用户类型、解析上下文)
{
返回user.issupurer?“是”:“否”;
}
}
我看了好几本教程,都找不出有什么问题。我甚至试着像这样用.ForMember来更改行,但也不起作用
.ForMember(dest => dest.IsInternal, opt => opt.ResolveUsing<UserTypeResolver>());
.ForMember(dest=>dest.IsInternal,opt=>opt.resolvesusing());
也许IsInternal不是字符串