为了账号安全,请及时绑定邮箱和手机立即绑定

C#使用具有不同参数的基类中的方法

C#使用具有不同参数的基类中的方法

C#
心有法竹 2021-05-10 15:21:25
我已经对该问题进行了很多研究,并且已经知道直接答案。您不能使用新参数覆盖基本方法。问题是,我想做的事情很简单,但我不知道要寻找什么,或者我想做的事是无稽之谈,因此,如果有人可以指出我的方向,那将是一个很好的方向。这就是我想要做的。我有一个带有创建方法的基类。此方法采用Type参数,并使用反射创建具有其属性的关联对象。无论我作为参数传递的任何类型,其效果都很好,但现在我希望此方法返回参数中所述的类型传递,以将其添加到列表中。自然,我只是向创建的模型添加了返回值,但无法将Type对象添加到List Student中(我自己的类型在这里)。因此,我尝试创建一个派生类,然后在该类中将参数从Type更改为Student。显然,这是行不通的,但是现在我被卡住了。我的基本方法运行完美(除了事实它没有返回我想要的东西),我只想修改派生类的返回类型。这是代码片段。(注意:我是法国人)abstract class ControllerBase{    public virtual Type Create(ControlContainer controlContainer, Type typeToCreate)    {        dynamic returnObject = null;        //Stuff that creates my returnObject        return returnObject;    }}class StudentControl : ControllerBase{    static public List<Student> Students{ get; set; }    public Type Create(ContainerControl containerControl, Type typeToCreate)    {        typeToCreate = typeof(Student);        return base.Create(containerControl, typeToCreate);    }}所以,这基本上就是我想要做的。将我的基本方法的返回类型转换为派生类中的另一种类型,以便将其添加到“学生”列表中。我已经环顾四周,但实际上并没有在这里寻找什么。我不能<T>在这里使用泛型方法,因为反射不适用于泛型类型。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信