Kyl*_*ran 3 c# reflection .net-3.5
在运行时,我想指定一个父类,然后程序将生成所有子类(无论几代)的列表。例如,如果我有Entity
一个父级 and 和Item:Entity
and Actor:Entity
,就会有两个字符串,“Actor”和“Item”。
我明白这System.Reflection.TypeInfo
正是我正在寻找的。但是,这似乎是 .NET 4.5 独有的,不幸的是我的环境停留在 3.5。
在 .NET 3.5 中是否有其他方法可以做到这一点,还是应该考虑升级?
var pType = typeof(Entity);
IEnumerable<string> children = Enumerable.Range(1, iterations)
.SelectMany(i => Assembly.GetExecutingAssembly().GetTypes()
.Where(t => t.IsClass && t != pType
&& pType.IsAssignableFrom(t))
.Select(t => t.Name));
Run Code Online (Sandbox Code Playgroud)