我有以下代碼:DISTINCT與自定義比較給vauge錯誤
IEqualityComparer<WorkItem> comparer =
new LambdaComparer<WorkItem>((item1, item2) => item1.Type == item2.Type);
var someVar = Pad.Distinct(comparer);
(的想法是讓每類1)
它是給下面的錯誤信息:
The type arguments for method 'System.Linq.Enumerable.Distinct (System.Collections.Generic.IEnumerable, System.Collections.Generic.IEqualityComparer)' cannot be inferred from the usage. Try specifying the type arguments explicitly. 490
我已經做了類似的事情,它工作得很好:
Pad = new Dictionary<WorkItem, Canvas>(new LambdaComparer<WorkItem>((x, y) => x.Id == y.Id, x => x.Id));
小號o我不認爲這是我的LamdaComparer類。
有關如何解決此問題的任何想法? (我想我可以做一個ForEach並手動獲取不同。)
是IEnumerable類型的Instance.Pad ?如果沒有,這將不起作用,因爲該方法引用了IEnumerable和IComparer參數的同一T作爲類型參數。 –
driis
2010-01-22 18:12:10