gpt4 book ai didi

c# - 在 .NET 3.5 中使用反射生成子类列表

转载 作者:行者123 更新时间:2023-11-30 14:34:33 27 4
gpt4 key购买 nike

在运行时,我想指定一个父类,然后程序会生成所有子类的列表(无论多少代)。例如,如果我有 Entity 作为父级,Item:EntityActor:Entity,那么会有两个字符串,“Actor”和“项目”。

我看到 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));

Demo

关于c# - 在 .NET 3.5 中使用反射生成子类列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13896716/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com