反思 - 检查父类

Saf*_*ron 1 c# reflection

如何检查类是否继承自我的类DataSource(抽象类).

这是我得到的:

var q = from t in Assembly.Load(new AssemblyName("DefaultDataSources")).GetTypes()
                where t.IsClass
                select t;
Run Code Online (Sandbox Code Playgroud)

我不知道要添加什么条件:(

Jon*_*eet 5

听起来你只是想要:

var query = Assembly.Load(...)
                    .GetTypes()
                    .Where(t => typeof(DataSource).IsAssignableFrom(t));
Run Code Online (Sandbox Code Playgroud)

(这IsAssignableFrom部分是有趣的部分,但我提供了完整的查询,因为这是一个很好的例子,一个查询表达式只是妨碍了 - 对Where扩展方法的单个调用更简单.)