2 using System.Reflection;
3 using System.Collections.Generic;
8 static U[] Foo<T, U> (T[] arg) where T : class, U
13 public static IEnumerable<U> Foo2<T, U> (IEnumerable<T> arg) where T : class, U
18 static IEnumerable<U[]> Foo3<T, U> (IEnumerable<T[]> arg) where T : class, U
25 var m = typeof (Test).GetMethod ("Foo2");
26 var gp = m.GetGenericArguments ();
29 Console.WriteLine (t);
30 Console.WriteLine (u);
31 Console.WriteLine (t.IsAssignableFrom (u));
32 Console.WriteLine (u.IsAssignableFrom (t));