Мне нужно отфильтровать некоторые элементы из наблюдаемой коллекции. Ранее, с IEnumerable, я делал:ObservableCollection Enumerator с фильтром
private IEnumerable _myCollection {get; set;}
public IEnumerator<MyType> GetEnumerator()
{
var filteredType = _myColletion.Where(t => t.MyProperty.State != States.NeedsDelete);
return filteredType.GetEnumerator();
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
Я теперь с помощью ObservableCollection
. Как мне реализовать одно и то же?
Edit (Context):
Я отслеживании некоторых лиц, работающих с ними в памяти, и идея заключается в том, что, в конце концов, я нажимаю эти объекты обратно на веб-службы. Каждый объект в наблюдаемой коллекции будет иметь состояние, такое как «NeedsCreate», «NeedsDelete», «NeedsUpdate» или Unchanged. Затем я пройду через каждое из этих состояний и вызову соответствующий веб-сервис, чтобы синхронизировать эти изменения.
Некоторая контекстная информация необходима, например, как/где это будет использоваться. 'ObservableCollection' реализует 'IEnumerable ', но похоже, что вы знаете об этом и хотите что-то еще. –
Dennis
Хорошо, я отредактирую вопрос – David
@David То же самое относится к 'ObservableCollection'. Почему бы просто не вернуть его «GetEnumerator»? –