Добрый день,
public class MyClass {
public class MyData {
public int Parm {get;set;}
public int Calc {get;set;}
}
protected Dictionary<MyData> workData = new Dictionary<MyData>();
public void Calculate(){...}
protected void Change(){...}
public Dictionary<...> DataSource {get{...};set{...};}
}
Класс содержит в себе словарь с данными, над которыми работает. Каждый элемент содержит два свойства — Parm и Calc. С другими классами обмен данных идет, через свойство DataSource, которое так-же является словарем и так-же каждый элемент содержит свойства Parm и Calc. Данные внутреннего словаря и словаря свойства класса — совпадают.
Однако:
1. При обращении к элементам словаря из-за пределов класса MyClass — свойство Calc должно быть доступно только для чтения.
2. Изменение значения свойства Parm и / или количества элементов в словаре должно автоматически (силами класса MyClass) вызывать срабатывание метода Change.
Как такое реализовать?