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