0

汎用メソッドを作成しようとしていますが、以下のコードでエラーが発生します。

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を置き換えるT1T2PlnBOMMaster,PlnBOMDetail上記の構文は正常に機能します。この一般的な方法の問題を解決するにはどうすればよいですか?

4

3 に答える 3