DataTableManager 出现引用类型的问题

DataTableManager,在解析某类表的时候,例如DTUIConfigs,该类有属性类型为List<int>.
第1次解析该表id = 1的时候,DataTableManager新增了一行数据如下(伪代码):
 {id:1, name:name1, datas:[0,0,0]}
第2次解析该表id = 2的时候,DataTableManager新增了一行数据如下:
 {id:2, name:name2, datas:[1,2,3]}
这两次都调用了AddDataRow()方法解析数据,并且也使用了T t = new T()来新增DTUIConfigs类,但是问题来了:
这个时候DataTableManager里面的数据是如下:
 {id:1, name:name1, datas:[1,2,3]}
 {id:2, name:name2, datas:[1,2,3]}
id = 1的属性datas变了...按照正常来说,通过new T()出来的不是不应该出现这样的引用问题吗?
已邀请:

O知足O

赞同来自:

解决了,
旧:m_DataSet.Add(dataRow.Id, dataRow);
新:m_DataSet.Add(dataRow.Id, Utility.DeepCopy<T>(dataRow));
 
不过虽然用了深拷贝解决了,但是这里的new T()不应该是浅拷贝才是,所以还是有点疑问~~~

要回复问题请先登录注册