It sounds like you just want:
var query = Assembly.Load(...)
.GetTypes()
.Where(t => typeof(DataSource).IsAssignableFrom(t));
(The IsAssignableFrom
part is the interesting bit, but I gave the full query as this is a good example of a case where a query expression just gets in the way - a single call to the Where
extension method is simpler.)