我正在為我的IEnumerable<ISeries>函式的引數而苦苦掙扎。
我創建了一個interface AllProperties,它結合了我在某個時候需要的不同類的所有屬性。
這是我IEnumerable<ISeries> GetDepartments現在的情況:
public IEnumerable<ISeries> GetDepartments()
{
IEnumerable<ISeries> series = Employees.GroupBy(x => x.Department).ToList().Select(x => new PieSeries<double>
{
Values = new List<double> { x.Count() },
Name = x.Key,
});
return series;
}
它作業得很好,但我必須復制/粘貼每個串列和屬性的代碼,我想避免這種情況。
我試圖創建的函式的想法是,我參考 aList和一個給定的屬性并回傳一個IEnumerable<ISeries>
這是我到目前為止得到的:
public IEnumerable<ISeries> GetEnumerableGroupBy<T,TKey>(List<T> list, Func<AllProperties, TKey> myGroupingProperty)
{
IEnumerable<ISeries> series = list.GroupBy(myGroupingProperty).ToList().Select(x => new PieSeries<double>
{
Values = new List<double> { x.Count() },
Name = x.ToString(),
});
return series;
}
//Calling the function like this
GetEnumerableGroupBy(Employees, x => x.Department);
現在我得到了錯誤,它List<T>不包含定義GroupBy,我不知道如何解決這個問題。
任何幫助將不勝感激。
uj5u.com熱心網友回復:
你很親密。你根本不需要AllProperties界面。相反,只需將您的函式引數設為泛型T型別。
public IEnumerable<ISeries> GetEnumerableGroupBy<T, TKey>(List<T> list, Func<T, TKey> myGroupingProperty)
{
...
}
您的其余代碼應該可以正常作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/463226.html
上一篇:呼叫“DbSet<>.Find”的位置0處的鍵值是“字串”型別,與“長?”的屬性型別不匹配。
下一篇:.xxxxxx??v.Outer.Outer.xxxx)'無法用空條件asp.netcore6翻譯OrderByDescending
