使用.Cast <>运算符,我得到一个InvalidCastException,将linq实体列表转换为businessobject列表。 “无法投射类型为'Ticketing.ticket'的对象以键入 'Ticketing.ModelTicket'。” (命名空间名称已更改,因为下划线是造成不必要的格式)列表<TEntity>。当隐式转换存在时,<BusinessObject>()失败
,这里是我的业务对象类
public sealed class ModelTicket
{
public ModelTicket(ticket ticket)
{
_Ticket = ticket;
}
public static implicit operator ModelTicket(ticket item)
{
return new ModelTicket(item);
}
}
,这里是我的扩展方法LINQ对象的列表转换为业务对象的列表:
public static class ModelTicketExtensions
{
public static List<ModelTicket> ToModelTickets(this List<ticket> list)
{
return list.Cast<ModelTicket>().ToList();// exception on cast
}
}
Duplicate:http://stackoverflow.com/questions/808725/why-does-a-linq-castt-operation-fail-when-i-have-an-implicit-cast-defined – Wilka 2009-09-09 16:17:09
@Wilka:嗯不是当然我是如何错过的。 – Maslow 2009-09-09 18:49:43