下面的代碼工作:鑄造名單<x>列出<y>
List<JsonStock> stock = new List<JsonStock>();
foreach(tblStock item in repository.Single(id).tblStocks)
stock.Add((JsonStock) item);
所以很自然的,你會覺得這個代碼將工作太:
List<JsonStock> stock = repository.Single(id).tblStocks.Cast<JsonStock>().ToList()
但我得到的錯誤Invalid cast operation
- 有誰知道爲什麼可能發生?
UPDATE
tblStocks是LINQ到SQL對象,tblStock列表。
JsonStock是tblStock類的簡化版本,並作爲JSON對象返回到網頁。
下運營商建做鑄造:
public partial class tblStock{
public static explicit operator JsonStock(tblStock stock){
JsonStock item = new JsonStock
{
boxes = stock.boxes,
boxtype = stock.tblBoxType.name,
boxtype_id = stock.boxtype_id,
grade = stock.grade,
packrate = stock.packrate,
weight = stock.weight
};
return item;
}
}
「tblStocks」的類型是如何定義的? –
只是一個想法,不知道這個:'repository.Single(id).tblStocks'返回一個數組或列表'JsonStock',所以當你試圖將其作爲'JsonStock'投射時,它會投訴... – Marco
@Marco - no它不應該抱怨。 –