相关疑难解决方法(0)

如何使用automapper有条件地将目标对象设置为null

我想做这样的事情:

AutoMapper.Mapper.CreateMap<UrlPickerState, Link>()
        .ForMember(m=>m.OpenInNewWindow,map=>map.MapFrom(s=>s.NewWindow))
        .AfterMap((picker, link) => link = !string.IsNullOrWhiteSpace(link.Url)?link:null) ;

var pickerState = new UrlPickerState();
var linkOutput = AutoMapper.Mapper.Map<Link>(pickerState);
Run Code Online (Sandbox Code Playgroud)

但是,分配的值link不会在任何执行路径中使用.
我想linkOutput为null,但事实并非如此.
如何将目标对象设为null?

涉及的对象细节:

public class Link
{
    public string Title { get; set; }
    public string Url { get; set; }
    public bool OpenInNewWindow { get; set; }
}

public class UrlPickerState
{
    public string Title { get; set; }
    public string Url { get; set; }
    public bool NewWindow { get; set; }
    //.... etc
} …
Run Code Online (Sandbox Code Playgroud)

c# automapper

2
推荐指数
1
解决办法
1638
查看次数

标签 统计

automapper ×1

c# ×1