我在 SO 上看到了类似问题的答案,但没有找到解决以下所有标准的答案。
当 B 从 A 继承时,如何确定 B 类是否满足以下条件:
[B]
不实现任何[additional]
接口(通用或非通用)。[A]
以自己的类型作为泛型参数实现泛型接口?
以下
object o = new SomeObject();
bool result = (o.GetType().GetInterfaces()[0] == typeof(IKnownInterface<???>));
// ??? should be typeof(o). How to achieve this?
我知道我可以从类似的类型中获取接口名称字符串,"NameSpace.ClassName+IKnownInterface'1[[SomeType, ModuleName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]"
但这似乎不直观或不安全。此外,该'1
表示法是基于用于该接口的泛型类型的数量而递增的。
我要么以错误的方式解决这个问题,要么在这里错过了一些愚蠢的东西。请指教。