我需要获取从某个抽象泛型类派生的所有类型。我还需要获得泛型类型(如实现泛型接口的类型上的GetGenericArguments())。检查类型是否来自抽象泛型类
这是示例代码:
public abstract class AbstractValidator<T>
public class CreateTripValidator : AbstractValidator<CreateTrip>
public class CancelTripValidator : AbstractValidator<CancelTrip>
我想要加载从AbstractValidator派生的所有类型。在这个例子中CreateTripValidator和CancelTripValidator。我希望每种类型的通用参数的检查类型。
我试图以这种方式,但他们没有工作:
var types = Assembly.GetExecutingAssembly().GetTypes().Where(
t => t.IsSubclassOf(typeof(AbstractValidator<>)));
var types = Assembly.GetExecutingAssembly().GetTypes().Where(
t => t.IsAssignableFrom(typeof(AbstractValidator<>)));
是什么阻止您?你已经知道该怎么办了 – MikeSW