加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 04:11:05 所属栏目:百科 来源:网络整理
导读:我有一个程序集,我想列出从特定类/接口继承的所有类. 我该怎么做? 解决方法 就像是: public static IEnumerableType GetSubtypes(Assembly assembly,Type parent){ return assembly.GetTypes() .Where(type = parent.IsAssignableFrom(type));} 这对于简单
我有一个程序集,我想列出从特定类/接口继承的所有类.

我该怎么做?

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读