Các mã sau hoạt động:Đúc Danh sách <x> vào danh sách <y>
List<JsonStock> stock = new List<JsonStock>();
foreach(tblStock item in repository.Single(id).tblStocks)
stock.Add((JsonStock) item);
Vì vậy, tự nhiên bạn sẽ nghĩ rằng mã này sẽ làm việc quá:
List<JsonStock> stock = repository.Single(id).tblStocks.Cast<JsonStock>().ToList()
Nhưng tôi nhận được lỗi Invalid cast operation
- không ai biết tại sao điều đó có thể xảy ra?
CẬP NHẬT
tblStocks là danh sách các đối tượng LINQ to SQL, tblStock.
JsonStock là phiên bản đơn giản của lớp tblStock và được trả về trang web dưới dạng đối tượng JSON.
Nhà điều hành sau đây được xây dựng để làm đúc:
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;
}
}
loại 'tblStocks' được xác định như thế nào? –
Chỉ là một ý tưởng, không chắc chắn về điều này: 'repository.Single (id) .tblStocks' trả về một mảng hoặc danh sách' JsonStock', vì vậy khi bạn cố gắng truyền như 'JsonStock' nó than phiền ... – Marco
@Marco - no nó không nên phàn nàn. –