我正在使用AutoMapper将Dictionary<string, object>
映射到类Bar
,其中源密钥具有我使用RecognizePostfixes
在AutoMapper中配置的后缀:
var mapper = new Mapper(new MapperConfiguration(cfg =>
{
cfg.RecognizePostfixes("Postfix");
}));
var foo = new Dictionary<string, object> {{"XPostfix", 1}, {"YPostfix", 2}};
var bar = mapper.Map<Bar>(foo);
Bar
定义为:
class Bar
{
public int X;
public int Y;
}
不幸的是,除非源键和目标属性名称匹配,否则不会映射属性。从RecognizePostfixes
映射时,Dictionary<string, object>
似乎不起作用。我也尝试使用ExpandoObject
。 AutoMapper按照here都支持,但是似乎没有配置支持。
是否可以使用AutoMapper以某种方式实现这一目标?我唯一的限制是我必须能够动态配置源属性,因此为什么可以使用Dictionary<string, object>
或ExpandoObject
。