0

我有 Linq 代码,它枚举程序集中的所有类并将它们放入对象数组中Type,以便将其作为AdditionalTypes参数传递给 XML 序列化器。我需要过滤该数组的内容,使其仅包含从特定基类派生的类。

如何从Type对象中确定该类是基类的后代?

4

2 回答 2

4

您可能正在寻找Type.IsAssignableFromType.IsSubclassOf。在这两种情况下,如果泛型发挥作用,您需要非常仔细地考虑,因为关系变得更加复杂。

于 2013-07-03T16:48:32.783 回答
1

这样的事情可能会让你到达你需要的地方

AppDomain.CurrentDomain.GetAssemblies()
                     .SelectMany(x => x.GetTypes())
                     .Where(x => typeof(MyBaseType).IsAssignableFrom(x))
                     .ToArray();
于 2013-07-03T16:51:36.673 回答