您的位置:首页 > 其它

实体转泛类型

2015-11-12 09:43 405 查看
实体转泛类型备忘:

/// <summary>
/// 根据业务类型,生成相应实体
/// </summary>
/// <typeparam name="T">具体的申请实例</typeparam>
/// <param name="sqbh">申请编号</param>
/// <param name="wlx">业务类型</param>
/// <returns></returns>
public T GetSingleSq<T>(string sqbh, WkfLx wlx)
{
Type type = typeof(T);
object oObj=null;
switch (wlx)
{
case WkflowHelper.WkfLx.Car:
oObj= new UseCarSqTabService().GetByID(sqbh);
break;
case WkflowHelper.WkfLx.Jiedai:
oObj = new AdmitSqTabService().GetSingleModel(sqbh);
break;
case WkflowHelper.WkfLx.Meeting:
oObj = new MeetingWkTabService().GetSingleModel(sqbh);
break;
case WkflowHelper.WkfLx.Qianbao:
oObj= new QingShiQianBaoService().GetSingleModel(sqbh);
break;
case WkflowHelper.WkfLx.Seal:
oObj = new SealSqTabService().GetByID(sqbh);
break;
case WkflowHelper.WkfLx.WorkContact:
oObj = new WorkContactService().GetSingleModel(sqbh);
break;
}
if (oObj == null) return default(T);
object nobj = type.Assembly.CreateInstance(type.FullName);
string name = type.Name;
PropertyInfo[] pro=type.GetProperties();
foreach (PropertyInfo pp in pro)
{
var v= pp.GetValue(oObj, null);
pp.SetValue(nobj, v, null);
}

return (T)nobj;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: