在更改添加的类成员时更改泛型列表
本文关键字:泛型 列表 成员 添加 | 更新日期: 2023-09-27 18:17:12
我想在类中建模个人数据的历史:
public class PersonModel : ViewModelBase
{
public string FirstName { get; set; }
public string LastName { get; set; }
...
}
Person数据在运行时被修改,并定期进行历史记录:
public MainViewModel() {
List<PersonModel> histItem = new List<PersonModel>();
PersonModel item = new PersonModel();
item.FirstName = "Vorname 1";
histItem.Add(item);
item.FirstName = "Vorname 2";
histItem.Add(item);
}
当我改变item
时(如在最后第二行),histItem
也改变了
histItem[0].FirstName = "Vorname 2";
当我第二次将item
添加到histItem
时,我有两个重复的列表实体。集合有相同的行为。
我想存储'item'作为一个持久的,以后不可更改的快照。
像这样使用:
List<PersonModel> histItem = new List<PersonModel>();
PersonModel item = new PersonModel();
item.FirstName = "Vorname 1";
histItem.Add(item);
item = new PersonModel();
item.FirstName = "Vorname 2";
histItem.Add(item);
或
histItem.Add(new PersonModel(){FirstName="value 1"});
histItem.Add(new PersonModel() { FirstName = "value 2" });