Code
/// <summary>
/// 对象转换
/// </summary>
/// <param name="i_obj">元对象</param>
/// <param name="o_obj">目标对象</param>
/// <returns>目标对象</returns>
public static object EntityWSToEntity(object i_obj, object o_obj)
{
Hashtable ht = new Hashtable();
//在哈希表里循环追加相应的字段值
foreach (FieldInfo fi in i_obj.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic))
{
object value = fi.GetValue(i_obj);
ht[fi.Name] = value;
}
//从哈希表里循环取出相应的字段值
foreach (FieldInfo fi in o_obj.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic))
{
string pName = fi.Name;
fi.SetValue(o_obj, ht[pName]);
}
//返回已复制对象
return o_obj;
}
/// <summary>
/// 对象转换
/// </summary>
/// <param name="i_obj">元对象</param>
/// <param name="o_obj">目标对象</param>
/// <returns>目标对象</returns>
public static object EntityWSToEntity(object i_obj, object o_obj)
{
Hashtable ht = new Hashtable();
//在哈希表里循环追加相应的字段值
foreach (FieldInfo fi in i_obj.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic))
{
object value = fi.GetValue(i_obj);
ht[fi.Name] = value;
}
//从哈希表里循环取出相应的字段值
foreach (FieldInfo fi in o_obj.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic))
{
string pName = fi.Name;
fi.SetValue(o_obj, ht[pName]);
}
//返回已复制对象
return o_obj;
}