Я бы скорее прокомментировал ответ выше, но мой счет недостаточно высок.
Синтаксис задокументирован для метода Type.GetType (строка) здесь: http://msdn.microsoft.com/en-us/library/w3f99sx1.aspx
Есть несколько примеров, некоторые из которых я вставил ниже.
Универсальный тип с одним аргументом типа
Type.GetType("MyGenericType`1[MyType]")
Универсальный тип с двумя аргументами типа
Type.GetType("MyGenericType`2[MyType,AnotherType]")
Универсальный тип с двумя аргументами типа, уточненными в сборке
Type.GetType("MyGenericType`2[[MyType,MyAssembly],[AnotherType,AnotherAssembly]]")
Универсальный тип с квалификацией сборки и аргумент типа с квалификацией сборки
Type.GetType("MyGenericType`1[[MyType,MyAssembly]],MyGenericTypeAssembly")
Универсальный тип, аргумент типа которого является универсальным типом с двумя аргументами типа
Type.GetType("MyGenericType`1[AnotherGenericType`2[MyType,AnotherType]]")