El siguiente código funciona:Lista de fundición <x> a la lista <y>
List<JsonStock> stock = new List<JsonStock>();
foreach(tblStock item in repository.Single(id).tblStocks)
stock.Add((JsonStock) item);
Así que, naturalmente, se podría pensar que este código podría funcionar también:
List<JsonStock> stock = repository.Single(id).tblStocks.Cast<JsonStock>().ToList()
pero me sale el error Invalid cast operation
- ¿alguien ¿Sabes por qué podría pasar eso?
ACTUALIZACIÓN
tblStocks es una lista de LINQ a SQL objeto, tblStock.
JsonStock es una versión simplificada de la clase tblStock y se devuelve a una página web como un objeto JSON.
El siguiente operador fue construido para hacer el casting:
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;
}
}
cómo es el tipo de 'tblStocks' definido? –
Solo una idea, no estoy seguro de esto: 'repository.Single (id) .tblStocks' devuelve una matriz o lista de' JsonStock', por lo que cuando intentas invocar 'JsonStock' se queja ... – Marco
@Marco - no no debería quejarse –