假设我有这样的类结构:
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));
然而,这并不会使一类本科生和一类毕业生退回名单。