Мне нужна настраиваемая наблюдаемая коллекция, чтобы я мог отловить при добавлении элемента типа MyObj и вызвать MyObj.DoCalc () для него перед его добавлением в элементы. Я также хочу иметь возможность передавать список конструктору myCustomCollection, как и базовый класс, чтобы он устанавливал элементы в этот список.
public class MyObservableCollection : ObservableCollection<MyObj>
{
protected override void OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
{
// perform calculation
}
base.OnCollectionChanged(e);
}
}
Это насколько я понял. Я не уверен, как переопределить конструктор и элементы только для чтения, поэтому я не знаю, как установить это в переданный список. Заранее спасибо.