public interface IFoo<X> { } public class Test { public void Hello<T> (IFoo<T> foo) { InsertAll (foo); } public void InsertAll<U> (IFoo<U> foo) { } } class X { public static void Main () { } }