Я хочу использовать один и тот же список объектов в разных моделях. MainModel должна позаботиться о содержимом списка, чтобы подмодели, использующие этот список, тоже получили изменения.
Учитывая следующую модель 'Клиент' ...
public class Customer
{
public Customer(List<Customer> customerList)
{
this.CustomerList= customerList;
this.CustomerAge= new CustomerAge(this.CustomerList);
}
public List<Customer> CustomerList
{
get;
set;
}
public AgeCustomer AgeCustomer
{
get;
set;
}
public void SetCustomerList(List<Customer> customerList)
{
this.CustomerList= customerList;
}
}
А Модель CustomerAge
:
public class CustomerAge
{
List<Customer> customerListComplete;
public CustomerAge(List<Customer> customerList)
{
this.customerListComplete= customerList;
}
public List<Customer> CustomerListAgeOver40
{
get
{
return this.customerListComplete.Where(c => c.age > 40).ToList();
}
}
public List<Customer> CustomerListAgeUnder40
{
get
{
return this.customerListComplete.Where(c => c.age < 40).ToList();
}
}
public List<Customer> CustomerListAgeEquals40
{
get
{
return this.customerListComplete.Where(c => c.age = 40).ToList();
}
}
}
Пока все довольно просто, у меня есть основная модель с именем Customer
и вспомогательная модель с именем CustomerAge
. Когда я изменил CustomerList
в Customer
, вызвав Customer.SetCustomerList(newCustomerList)
, я подумал, что CustomerListComplete
в CustomerAge
также изменится, но это не так. Зачем? Как я могу использовать один и тот же список в обеих моделях?