C# 自动映射-是否可以访问AddTransform中的源对象?
我想使用C# 自动映射-是否可以访问AddTransform中的源对象?,c#,automapper,C#,Automapper,我想使用IMemberValueResolver检查在使用IMemberValueResolver执行泛型resolvesusing后,属性是否仍然为null。我尝试了AfterMap,但在集合上使用resolve进行解析后,它不适用,因此我认为AddTransform可能更合适 基于,我可以看到可以覆盖目标属性: p.CreateMap<Source, Dest>() .ForMember(d => d.Value, opt => opt.AddTransform
IMemberValueResolver
检查在使用IMemberValueResolver
执行泛型resolvesusing
后,属性是否仍然为null。我尝试了AfterMap
,但在集合上使用resolve
进行解析后,它不适用,因此我认为AddTransform
可能更合适
基于,我可以看到可以覆盖目标属性:
p.CreateMap<Source, Dest>()
.ForMember(d => d.Value, opt => opt.AddTransform(d => d + ", seriously"));
“我尝试了AfterMap,但在集合上使用ResolveUsing后它不适用”。这对我有用。你能提供所有不起作用的代码吗?你完全正确。完整的代码是。谢谢。我是一个木偶。你能打开一个GitHub的问题吗?值转换器现在非常基本,所以我正在收集使用情况,看看它们应该如何改进。嗨@JimmyBogard。感谢Thx在此项目上继续努力。它确实有效。我的用户错误::-)
cfg.CreateMap<Foo, Bar>()
.ForMember(d => d.Description, opts =>
{
opts.ResolveUsing<LocalizeResolver, ResourceType>(src => src.ResourceType);
opts.AddTransform(d => "whatever"); // src.Description??
})
.AfterMap((src, dst) => {
// this never works
if (string.IsNullOrWhiteSpace(dst.Description))
{
dst.Description = src.Description;
}
});