У меня есть следующий код:
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));
Так что я не думаю, что это мой класс LamdaComparer.
Есть идеи, как это исправить? (Полагаю, я мог бы просто сделать ForEach и получить отличительное вручную.)