使用接口,我們通常有一個var或一個IQueryable,它將返回一組數據對象,然後我們將這些數據對象轉換爲接口並作爲List或IList返回,像這樣:Casting linq-to-sql的結果
var items =
from t in SomeTable
where t.condition == true
select;
return items.ToList().Cast<SomeInterface>().ToList();
注: items.Cast().ToList() 將編譯,但會在運行時拋出一個InvalidCastException。
有沒有更好的方法? (我把ToList/Cast/ToList放入擴展方法中,但這不是更好...)
return items.CastToList<SomeClass, SomeInterface>();
謝謝!
咦?你在問什麼? – SLaks 2010-07-20 17:03:31