我有一個叫做分組的抽象類。我有一個名爲GroupingNNA的子類。繼承問題和List <>
public class GroupingNNA : Grouping {
// blah blah blah
}
我有一個包含類型GroupingNNA的項目,但實際上是宣告包含類型分組的項目的列表。
List<Grouping> lstGroupings = new List<Grouping>();
lstGroupings.Add(
new GroupingNNA { fName = "Joe" });
lstGroupings.Add(
new GroupingNNA { fName = "Jane" });
問題: 下面的LINQ查詢在我身上吹,因爲一個事實,即lstGroupings被聲明爲List <分組>和FNAME是GroupingNNA的分組的屬性,不是。
var results = from g in lstGroupings
where r.fName == "Jane"
select r;
哦,這是一個編譯器錯誤,而不是運行時錯誤。提前感謝您對這一個的任何幫助!
更多信息: 這是實際的方法,不會編譯。 OfType()修正了LINQ查詢,但是編譯器不喜歡我試圖將匿名類型作爲列表< Grouping>返回的事實。
private List<Grouping> ApplyFilterSens(List<Grouping> lstGroupings, string fSens) {
// This works now! Thanks @Lasse
var filtered = from r in lstGroupings.OfType<GroupingNNA>()
where r.QASensitivity == fSens
select r;
if (filtered != null) {
**// Compiler doesn't like this now**
return filtered.ToList<Grouping>();
}
else
return new List<Grouping>();
}
謝謝!我現在更近一步了。但是,編譯器現在不開心,因爲我試圖將匿名類型返回爲列表< Grouping>。我會用一些更多的代碼對我原來的帖子進行編輯,以便看到我在說什麼。再次感謝。 – Jagd 2010-05-13 22:38:14