using System; using TestAlias = A.N; class C { public class Foo { } public class Simple { } static Type foo = typeof (Foo<>); static Type simple = typeof (Simple); } class D : C { } class A { public class N { } } class M { public static int Main () { new C (); if (typeof (TestAlias).ToString () != "A+N`1[System.Double]") return 1; if (typeof (D<>.Simple).ToString () != "C`1+Simple[T]") return 2; return 0; } }