using System; public interface I { } public class X : I { public static I Test (I source, Func, TR> selector) { return null; } public static U First (I source) { return default (U); } public static void Main () { I xs = new X (); var left = Test (xs, First); } }