我有一个接口IConditionalOrder:
iOS (Unified API): OxyPlot.Xamarin.Forms.Platform.iOS.PlotViewRenderer.Init();
Android: OxyPlot.Xamarin.Forms.Platform.Android.PlotViewRenderer.Init();
Universal Windows: OxyPlot.Xamarin.Forms.Platform.UWP.PlotViewRenderer.Init();
Windows Phone: OxyPlot.Xamarin.Forms.Platform.WP8.PlotViewRenderer.Init();
实现接口IConditionalOrder的dto:
public interface IConditionalOrder
String getMessageWaiting();
另一个dto“目的地”
public class ConditionalOrderDTO implements IConditionalOrder
//new field
private String originalMessage;
@Override
public String getMessageWaiting()
return "some string";
public String getOriginalMessage()
return originalMessage;
以及我正在进行映射的服务:
public class OrderDestination{
private String message;
//getter and setter
}
我遇到以下错误:
org.modelmapper.ConfigurationException:ModelMapper配置 错误:
1)目标属性 com.persistence.adapter.OrderDestination.setMessage() 匹配多个源属性层次结构:
com.persistence.adapter.model.ConditionalOrderDTO.getMessageWaiting() com.persistence.adapter.model.ConditionalOrderDTO.getOriginalMessage()
我可以仅自动映射接口的值吗? (在这种情况下,Source:messageWaiting,Destination:message)
我不明白为什么ModelMapper试图映射实现的所有值而不是仅使用接口的值。
在阅读文档时,我发现了一种避免异常的方法
setAmbiguityIgnored(布尔值忽略) 设置是否应忽略与多个源属性匹配的目标属性。
使我有可能进行自定义映射。
我们非常感谢您的帮助:)
最佳问候 安杰洛