【问题标题】:How to find a Type that inherits from some BaseClass [duplicate]如何找到从某些 BaseClass 继承的类型 [重复]
【发布时间】:2018-10-27 15:02:00
【问题描述】:

我有课

public class BaseClass
{

}

我有一个子类

public class ChildClass : BaseClass
{

}

我想知道从 BaseClass 继承的类/类型(例如查找 ChildClass)。我知道我必须使用汇编和反射,但不知道如何/使用哪个函数。

编辑:好的,也许现在你会明白的

【问题讨论】:

  • 我不明白你的问题
  • 这两个类在同一个程序集中吗?您是否需要能够找到更多派生类,或者只是直接子类?
  • 这里有什么问题?使用反射有什么问题?
  • (关于B001的评论,他们说你的英文不正确)
  • @user202729 不,你错了!我告诉他(用他的语言)我不明白他的问题......而且没有人要求你解释我的评论

标签: c# .net inheritance reflection .net-assembly


【解决方案1】:
typeof(BaseClass).Assembly.GetTypes().Where(type => type.IsSubclassOf(typeof(A)));

您可以分两步完成:

  1. 从 Assembly 中获取所有类型
  2. 仅查找属于 BaseClass 子类的类

【讨论】:

  • 谢谢你,@B001ᛦ
  • 不会得到所有子类型(可能在单独的程序集中),但最好我认为我们会得到 +1
猜你喜欢
  • 1970-01-01
  • 2020-05-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-11
  • 1970-01-01
  • 1970-01-01
  • 2011-08-17
  • 2014-06-21
相关资源
最近更新 更多