У меня есть объект ConcurrentDictionary, определенный как ConcurrentDictionary<int, DirtyFlag><int, DirtyFlag>
, где флаг dirty - это Enum со значениями Dirty / Clean.
Я пытаюсь написать метод расширения, чтобы получить только грязные объекты. Те объекты, для которых DirtyFlag имеет значение Dirty.
Я пытался использовать это, но выдает ошибку:
public static ConcurrentDictionary<int, DirtyFlag> GetDirtyRoutes(this ConcurrentDictionary<int, DirtyFlag> wholeDictionary)
{
return wholeDictionary.SelectMany(a => a.Value == DirtyFlag.Dirty);
}
Это сообщение об ошибке, которое я получаю:
The type arguments for method 'System.Linq.Enumerable.SelectMany<TSource,TResult>
(System.Collections.Generic.IEnumerable<TSource>,
System.Func<TSource,System.Collections.Generic.IEnumerable<TResult>>)' cannot
be inferred from the usage. Try specifying the type arguments explicitly.
Любая помощь?