Как построить класс так чтобы при изменении одного из свойств, класса создавался новый поток? - C#
Формулировка задачи:
Добрый всем день.
Помогите разобраться с задачей.
Задача:
Создайте класс Bank в котором будут следующие свойства:
int money,
string name,
int percent.
Постройте класс так чтобы при изменении одного из свойств, класса создавался новый поток,
который записывал данные о свойствах класса в текстовый файл.
Класс должен инкапсулировать в себе логику многопоточности.
Вопрос:
Как Построить класс так чтобы при изменении одного из свойств, класса создавался новый поток.?
Заранее спасибо. Решение задачи: «Как построить класс так чтобы при изменении одного из свойств, класса создавался новый поток?»
textual
Листинг программы
public class Bank: INotifyPropertyChanged
{
private readonly object _locker = new object();
private decimal _money;
private string _name;
private float _percent;
public decimal Money
{
get { return _money; }
set
{
_money = value;
OnPropertyChanged();
}
}
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged();
}
}
public float Percent
{
get { return _percent; }
set
{
_percent = value;
OnPropertyChanged();
}
}
private void Callback(object sender, PropertyChangedEventArgs e)
{
ThreadPool.QueueUserWorkItem((x) =>
{
lock (_locker)
{
// здесь ваша логика работы с файлом
}
},null);
}
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
}