给定以下课程
public class Foo {
public string Name { get; set; }
}
public class Bar {
public string Name { get; set; }
}
public class Foos : IEnumerable<Foo> {
private IList<Foo> _foos;
public Foos(int max = 10)
{
_foos = Enumerable.Range(0, max)
.Select(i => new Foo() { Name = "Foo" + i})
.ToList();
}
public IEnumerator<Foo> GetEnumerator()
{
return _foos.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
和以下映射:
Mapper.CreateMap<Foo, Bar>();
我可以映射Foos
到IEnumerable<Bar>
:
Mapper.Map<IEnumerable<Bar>>(new Foos(5));
但是,如果我有一个看起来像这样的附加类:
public class FooContainer {
private Foos _foos;
public FooContainer()
{
_foos = new Foos(5);
}
public Foos Foos { get { return _foos; } }
}
我将如何设置映射以便FooContainer
映射到IEnumerable<Bar>
?
编辑
好的,只是为了澄清这个问题 - 如果我有以下三个类:
public class Foo {
public string Name { get; set; }
}
public class Bar {
public Guid SourceId { get; set; }
public string Name { get; set; }
}
public class FooContainer {
public Guid Id { get; set; }
public List<Foo> Foos { get; set; }
}
如何为FooContainer
to设置映射,IEnumerable<Bar>
以便 FooContainer.Id
映射到 eachBar.SourceId
和Foo.Name
映射到Bar.Name
?