为什么在我打电话给DoSomething
的情况下,类型推论不起作用?
public class A { }
public class B<T> { }
public static class Extensions
{
public static void DoSomething<TWrapper, TInner>(this TWrapper thing)
where TWrapper : B<TInner>
{
}
public static void Test()
{
new B<A>().DoSomething();
}
}
在我看来,在Test
方法中,TWrapper
必须是B<A>
,因此TInner
必须是A
。为什么编译器无法解决这个问题?
答案 0 :(得分:0)
如果您尝试为Face Collection
编写扩展名,那么它就是:
B<T>