Given interface
public interface IBar<T1, T2>
{
void Method(T1 t1, T2 t2);
}
and implementation:
public class Foo<T1, T2> : IBar<T1, T2>
{
public void Method(T1 t1, T2 t2)
{
throw new NotImplementedException();
}
}
We should be returning this implementation. It isn't because we exclude it if all types are still open.