如何合并除对象类型外相同的方法
本文关键字:类型 方法 对象 何合并 合并 | 更新日期: 2024-10-22 17:36:46
除了对象的Type之外,我有7个方法是相同的。
这里有两个:
1)
public MyResult CreateMyResult(MyResult mi, MyVersion myv)
{
MyVersionEntity myve = _db.MyVersionEntity.Where(r => r.Id == myv.Id).First();
MyResultEntity mie = new MyResultEntity();
myve.MyResultEntityAssoc.Add(mie);
mie = _updateMyResultEntity(mi, mie);
mi.Id = mie.Id;
return mi;
}
2)
public MyIssue CreateMyIssue(MyIssue mi, MyVersion myv)
{
MyVersionEntity myve = _db.MyVersionEntity.Where(r => r.Id == myv.Id).First();
MyIssueEntity mie = new MyIssueEntity();
myve.MyIssueEntityAssoc.Add(mie);
mie = _updateMyIssueEntity(mi, mie);
mi.Id = mie.Id;
return mi;
}
有没有办法把它们都整合起来?
谢谢!
使用的泛型
public T Create<T>(T mi, MyVersion myv)
{
MyVersionEntity myve = _db.MyVersionEntity.Where(r => r.Id == myv.Id).First();
Entity<T> mie = new Entity<T>();
myve.EntityAssoc<T>.Add(mie);
mie = _updateEntity<T>(mi, mie);
mi.Id = mie.Id;
return mi;
}
像这样称呼它
Create<MyResult>(...)
Create<MyIssue>(...)