using System; using System.Collections; public class Test{ public static void Main(){ X<Y, Z> obj=new X<Y, Z>(); } } public class Z { public void MethodA() { Console.WriteLine("Y::MethodA"); } } public class Y: Z { } public class X<T1, T2> where T1:T2 { public void MethodB(T1 arg) { } }