汎用メソッドを作成しようとしていますが、以下のコードでエラーが発生します。
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;
}
andを置き換えるT1とT2、PlnBOMMaster,PlnBOMDetail上記の構文は正常に機能します。この一般的な方法の問題を解決するにはどうすればよいですか?