使用.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