1
比方說,我有一個泛型類看起來像這樣泛型類傳承與LINQ擴展方法
public class GenericCollection<T> : Collection<T>, IQueryable<T>
{
public string SomeCollectionProperty { get; set; }
...
// IQueryable implentations
}
現在我有上面的父類
public class SomeCollection : GenericCollection<SomeType>
{
// Some Additional Functionality here
}
內泛型類的子類我已經充分利用了LINQ擴展方法(例如,Where,First,Select等)
只要我嘗試訪問我的派生類中的LINQ擴展方法,等它的IQueryable或IEnumerable的
我希望它這樣做(內SomeCollection)
public SomeType FindFirst(int SomeProperty)
{
return this.First(t => t.someproperty == SomeProperty);
}
,而是當我打的。在此之後的Visual Studio不給我任何的擴展方法
我令人頭大我的大腦試圖理解爲什麼
特別是因爲如果在我的泛型類我剛剛從Collection<T>
它實現IEnumerable<T>
具有LINQ繼承與它相關的擴展方法我仍然可以在我的泛型類中使用LINQ擴展方法,但是一旦我根據泛型類定義強類型類,我就會丟失LINQ擴展方法
我希望我不會混淆每個人,因爲我肯定覺得我很困惑
*嘆*我當然會想念明顯 這就是我得到我想所有類別的同一組使用聲明 感謝白癡檢查:-) – TofuBug
@Tofu,它發生在我們所有人。 :) –