Вы должны быть немного более осторожны со своей транскрипцией кода, о котором вы спрашиваете, так как примеры в вашем вопросе имеют синтаксические ошибки в них; «FullName» и «AssemblyQualifiedName» должны находиться за скобками, а не непосредственно над типом.
Таким образом, я предполагаю, что вы имели в виду:
Type.GetType("IProcessor`1[System.Int32]");
(обратите внимание на обратную черту между IProcessor
и 1
, что очень важно)
Как минимум, чтобы этот синтаксис работал, вы должны включить полное пространство имен, в котором находится тип, поэтому, если, например, IProcessor
находится в пространстве имен MyApp.Interfaces
, то код должен выглядеть так:
Type.GetType("MyApp.Interfaces.IProcessor`1[System.Int32]");
Обратите внимание, что это работает, только если тип, на который вы ссылаетесь, находится внутри той же сборки, из которой вы делаете этот вызов. Если это не так, то по крайней мере вы должны будете добавить имена сборок к вызову, как таковые (при условии, что это в сборке с именем MyAssembly
):
Type.GetType("MyApp.Interfaces.IProcessor`1[System.Int32], MyAssembly");