我已经对该问题进行了很多研究,并且已经知道直接答案。您不能使用新参数覆盖基本方法。问题是,我想做的事情很简单,但我不知道要寻找什么,或者我想做的事是无稽之谈,因此,如果有人可以指出我的方向,那将是一个很好的方向。这就是我想要做的。我有一个带有创建方法的基类。此方法采用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
提交
取消