泛型实体转换

 

/// <summary>

/// 泛型类转换
/// </summary>
/// <typeparam name="T">要转换的类型</typeparam>
/// <param name="value">被转换的类对象</param>
/// <returns></returns>

public static T ConverToTEntity<T>(object value)
{
Type t = typeof(T);
System.Reflection.PropertyInfo[] t_propinfos = t.GetProperties();
T obj = (T)t.Assembly.CreateInstance(t.FullName);
if (value != null)
{
Type val_t = value.GetType();

System.Reflection.PropertyInfo[] val_t_propinfos = val_t.GetProperties();

foreach (System.Reflection.PropertyInfo vp in val_t_propinfos)
{
System.Reflection.PropertyInfo tp = t_propinfos.FirstOrDefault(m => m.Name == vp.Name);
if (tp != null)
{
object val = vp.GetValue(value);
tp.SetValue(obj, val, null);
}
}
}
return obj;
}

posted @ 2016-09-21 15:03  RainKZ  阅读(2820)  评论(0编辑  收藏  举报