更新具有特定对象的列表

时间:2014-07-06 11:26:14

标签: c# asp.net .net

使用以下代码从对象列表中获取数据

Con preConObj = preConfigList.FirstOrDefault(i => i.ID == con.ID);

现在我想更新此对象在类型为

的preConfigList中
 private static List<Con> preConList;

使用此对象

Con PostConObj 

最好的方法是什么?

我试过

preConObj = postConObj但这不会更新列表...

2 个答案:

答案 0 :(得分:0)

首先使用以下方法找到对象的索引:

var idx = preConList.FindIndex(x => x.ID == preConObj.ID);
preConList[idx] = postConObj; // replace it

答案 1 :(得分:0)

在这种情况下,反射可能很有用:

public static void UpdateObject<T>(this T source, T target)
{
    var type = typeof(T);

    var properties = type.GetProperties();

    foreach(var prop in properties)
        prop.SetValue(source, prop.GetValue(target));
}

// Usage:
preConObj.UpdateObject(postConObj);