我的类结构(简化版)
interface Foo<T> { }
abstract class Bar1 : Foo<SomeClass> { }
abstract class Bar2 : Foo<SomeOtherClass> { }
class FinalClass1 : Bar1 { }
class FinalClass2 : Bar2 { }
现在,只有类型FinalClass1和FinalClass2,我需要从Foo接口中获取它们各自的T类型 - FinalClass1的SomeClass和FinalClass2的SomeOtherClass。抽象类可以实现更通用的接口,但始终只有一个Foo。
1. 使用反射如何实现这一点? 2. 如何确保该类型实现了Foo,而不管T的类型是什么?类似于
bool bIsFoo = typeof(SomeType).IsAssignableFrom(Foo<>)
上述方法不起作用。