StackOverflowで検索してグーグル検索しましたが、これに関するヘルプや提案を見つけることができませんでした。
次のようなクラスでPagedList
オブジェクトを作成し、AutoMappperを使用してソースから宛先にタイプをマップします
public class PagedList<TSrc, TDest>
{
protected readonly List<TDest> _items = new List<TDest>();
public IEnumerable<TDest> Items {
get { return this._items; }
}
}
このタイプのマップを作成して、次のような別のタイプに変換する必要があります
public class PagedListViewModel<TDest>
{
public IEnumerable<TDest> Items { get; set; }
}
私は試しました
Mapper.CreateMap<PagedList<TSrc, TDest>, PagedListViewModel<TDest>>();
しかし、コンパイラはTSrc
とTDest
のために文句を言う
なにか提案を?
AutoMapper wiki によると:
public class Source<T> {
public T Value { get; set; }
}
public class Destination<T> {
public T Value { get; set; }
}
// Create the mapping
Mapper.CreateMap(typeof(Source<>), typeof(Destination<>));
あなたの場合、これは
Mapper.CreateMap(typeof(PagedList<,>), typeof(PagedListViewModel<>));