相交自动映射器集合处理



我有以下结构:

public class Destination
{
   public Destination()
   {
      _StringCollection = new List<String>();
   }
   private ICollection<String> _StringCollection;
   public IEnumerable<String> StringCollection
   {
     get
     {
       return _StringCollection.AsEnumerable<String>();
     }
   }
   public void AddString(string str)
   {
      _StringCollection.Add(str);
   }
 }
 public class Source
 {
    public List<String> StringCollection { get; set; }
 }

我想为目标上的源调用 AddString(member) 的每个成员映射它。

我想也许我可以用自定义解析器做一些事情,但似乎无法弄清楚如何做。

您可以使用

AfterMap为源代码中的每个字符串运行AddString

Mapper.Initialize(cfg => 
    cfg.CreateMap<Source, Destination>()
        .AfterMap((src,dest) => {
            foreach (var s in src.StringCollection)
                dest.AddString(s);
        }));

最新更新