返回实现接口

时间:2017-07-12 13:48:24

标签: c# reflection

假设我有这样的类结构:

public class Student
{

}

public class Undergraduate : Student
{

}

public class Postgraduate : Student
{

}

是否可以在列表中返回从Student继承的所有类的实例:

List<Student> Student = new List<Student>

如果可以使用反射来完成,我会徘徊:

Student.Add(new PostGraduate);
Student.Add(new UnderGraduate);

我相信我必须使用反射。我试过这个:

var type = typeof(Student);
var types = AppDomain.CurrentDomain.GetAssemblies()
    .SelectMany(s => s.GetTypes())
    .Where(p => type.IsAssignableFrom(p));

然而,这并不会使一类本科生和一类毕业生退回名单。

0 个答案:

没有答案