给定一个带有约束条件的通用类型:
class MyClass<T> where T: Alpha
{
}
还有该约束条件的实现方法:
class Alpha {}
class Bravo : Alpha {}
class Charlie : Alpha {}
如何在运行时获取所有组合的通用类型?
// I want these types at run-time
MyClass<Alpha>
MyClass<Bravo>
MyClass<Charlie>
编辑: 基于@rich.okelly的回答,我认为真正的问题是:
如何在运行时找到实现我的泛型类型约束的所有类型?
因此,如果给我 typeof(MyClass<>)
,我会得到上面的类型。
MyClass
类型,你有什么想法? - Austin Salonen