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