c# - 列出从特定类/接口(interface)继承的所有类

标签 c#

我有一个程序集,我想列出从特定类/接口(interface)继承的所有类。

我该怎么做?

最佳答案

类似于:

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

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

(正如 Adam 所说,您可以轻松地将其作为扩展方法。这取决于您是否认为您会重用它 - 扩展方法必须位于非嵌套静态类中是一种痛苦...... )

关于c# - 列出从特定类/接口(interface)继承的所有类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1287892/

相关文章:

c# - 设置现有 Pdf 文档的 BaseUrl

c# - 在 WPF 中,有没有办法制作像 Grid 一样具有对齐列的 StackPanel?

c# - Entity Framework 设置 ID 不应该的时候

c# - SQL : adding migration to an existing database 的 .NET 代码首次迁移

c# - 将 Entity FrameWork 与多个 MS SQLSERVER 数据库一起使用

c# - C# 中的 Java Robot 类等效代码

c# - 在层次结构中更改 "type"

c# - AsParallel() 如何拆分它的 'source' ?

c# - XStreamingElement 作为 XDocument 的一部分

c#发布后没有相关的app.config