3 public class Control {}
4 public class UserControl : Control {}
8 public class MainPage : UserControl
10 public static void Main ()
12 var more = new MoreConstrained<MainPage>();
13 more.test(new MainPage ());
17 public class MoreConstrained<T> where T : Control
19 public void test(T param)
21 Console.WriteLine("More " + typeof(T) + " " + param);
22 var x = new LessConstrained<T>();
27 public class LessConstrained<T> where T : class
29 public void test<T2>()
31 Console.WriteLine("Less " + typeof(T2));