我正在尝试编写一个通用方法,下面的代码给出了错误。
无法将类型“
T2
”转换为“T1
”'
T1
' 不包含 'Action' 的定义,并且找不到接受类型 'T1
' 的第一个参数的扩展方法 'Action'(您是否缺少 using 指令或程序集引用?)
private List<T2> FillChildControlOnSave<T1, T2>(
ref T1 objEntity, ref List<T1> _entityParent, ref List<T2> _entityDetail)
{
foreach (T2 c in _entityDetail)
{
if (c.Action == XERP.Entity.ActionMode.Add)
objEntity.PlnBOMDetails.Add(c);
var tmp = objEntity.PlnBOMDetails
.Where(p => p.BOMDetailRecordID == c.BOMDetailRecordID &&
p.BOMID == c.BOMID &&
p.IsDeleted == false)
.FirstOrDefault();
if (tmp != null)
if (c.Action == Entity.ActionMode.Delete)
objController.Context.PlnBOMDetails.DeleteObject(tmp);
}
return _entityDetail;
}
如果我用then 替换上面的语法就可以了T1
。如何解决这个泛型方法问题?T2
PlnBOMMaster,PlnBOMDetail