c# – 列出从特定类/接口继承的所有类

前端之家收集整理的这篇文章主要介绍了c# – 列出从特定类/接口继承的所有类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个程序集,我想列出从特定类/接口继承的所有类.

我该怎么做?

解决方法

就像是:
public static IEnumerable<Type> GetSubtypes(Assembly assembly,Type parent)
{
    return assembly.GetTypes()
                   .Where(type => parent.IsAssignableFrom(type));
}

这对于简单的情况来说很好,但是当你想要找到“所有类型实现任何T的IEnumerable< T>”等时,它会变得更“有趣”(读:棘手).

(正如Adam所说,你可以很容易地将它作为一种扩展方法.这取决于你是否认为你会重用它 – 扩展方法必须在非嵌套静态类中是一种痛苦……)

猜你在找的C#相关文章