using System; class C { public static void Main () { G.Foo (); G2.Foo (); } } class G where T : new () { public static void Foo () { Console.WriteLine ((new T ()).GetType ().ToString ()); } } class G2 where T : class, new () { public static void Foo () { Console.WriteLine ((new T ()).GetType ().ToString ()); } }