62,046
社区成员
发帖
与我相关
我的任务
分享
public void UpdateLicence(Lic_Business_Model Model)
{
var model = Model.MapTo<mc_Lic_Business>();
if(!db.mc_Lic_Business.Any(m=>m.UserID == UserContext.UserID))
{
db.mc_Lic_Business.Add(model);
}
else
{
model.UserID = UserContext.UserID;
db.Entry<mc_Lic_Business>(model).State = EntityState.Modified;
}
db.SaveChanges();
}
void test<T>(T a) where T : IList
{
Console.WriteLine("长度是:{0}", a.Count);
}
这就是标题党,为了多态操作明明是传一个 IList 类型的参数就可以了,用什么“泛型”?
如果你只是为了定义 MapTo() 方法,你应该定义接口。要什么泛型?而且 MapTo 方法这里写 <....> 又干什么?
其实如果没有基础,那么高大上的标题党就一下子就不存在了。泛型是用在代码生成模板方面,而不是用在抽象多态方面,这是最起码的区别。public void UpdateLicence<T>(dynamic Model)
{
var model = Model.MapTo<T>();
if (!db.mc_Lic_Business.Any(m => m.UserID == UserContext.UserID))
{
db.mc_Lic_Business.Add(model);
}
else
{
model.UserID = UserContext.UserID;
db.Entry<T>(model).State = EntityState.Modified;
}
db.SaveChanges();
}
public void UpdateLicence<T1,T2>(T1 Model)
{
var model = Model.MapTo<T2>();
。。。