我試圖將我的AutoMapper代碼轉換爲更流暢的API,例如 現有代碼:將對象轉換爲泛型類型 - automapper靜態擴展
Model.Foo target = Mapper.Map<Contract.Foo, Model.Foo>(source);
我想什麼的代碼看起來是這樣的
Model.Foo target = source.ConvertTo<Model.Foo>();
我開始寫我的擴展方法,但我似乎無法得到這個工作。
public static class AutoMapperConverterExtension
{
public static T ConvertTo<T>(this string source) where T : new()
{
Type sourceType = Type.GetType(source);
if (IsMapExists<sourceType, T>()) // complains here! cannot resolve 'sourceType'. If I use inline, won't compile.
{
return Mapper.Map<T>(source);
}
throw new NotImplementedException("type not supported for conversion");
}
public static bool IsMapExists<TSource, TDestination>()
{
return (AutoMapper.Mapper.FindTypeMapFor<TSource, TDestination>() != null);
}
}
,並且您實施有什麼問題? – Servy 2014-09-22 18:57:26
*抱怨這裏*關於什麼? – 2014-09-22 18:59:17
更新後 - 基本上不會編譯。 – Raymond 2014-09-22 19:19:51