public interface IA { } public class G : IA> { } public class C { static bool Test_2 (T2[] t) { return t is byte[]; } public static int Main () { G p = new G (); if (p is IA>) return 1; if (Test_2 (new int [0])) return 2; if (!Test_2 (new byte [0])) return 3; return 0; } }