C# 某方法需要一個List<父類>參數,怎么把List<子類>傳進去或當做返回值


B繼承A

List<B> list=new List<B>();
myfun(list.Cast<A>() as List<A>);

返回值:

 public override List<A> Load()
        {
            List<B> plnTaskList = new List<B>();
            return plnTaskList.Cast<A>() as List<A>;
           
        }

 

另一種方式:

 public override List<Task> Load(string projectIds)
        {
            string sql = "";
            DataTable dt = Conn.GetDataTable(sql);
            if (dt != null && dt.Rows.Count > 0)
            {
                return dt.ToModel<PlnTask>().ConvertAll(s => (Task)s);
            }
            else { return null; }
        }

調用:

PlnTaskService plnTaskService = new PlnTaskService(linkId);
            List<PlnTask> plnTaskList = plnTaskService.Load(projectIds).ConvertAll(s=>(PlnTask)s);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM