Как можно получить полное имя типа, содержащегося в объекте TypeInfo?
В отладчике многие из этих значений хорошо отображаются как System.Int32, но когда он распечатывается, ни одно из них не содержит это полное имя. Мне нужно это, чтобы предоставить аргумент Type.GetType().
var typeInfo = semanticModel.GetTypeInfo(argument);
var w = typeInfo.ToString(); // Microsoft.CodeAnalysis.TypeInfo
var y = typeInfo.Type.ToString(); // int
var z = typeInfo.Type.ToDisplayString(); // int
var a = typeInfo.Type.OriginalDefinition.ToDisplayString(); // int
var b = typeInfo.Type.OriginalDefinition.ToString(); // int
var c = typeInfo.Type.Name; // Int32
var d = typeInfo.Type.MetadataName; // Int32
var e = typeInfo.Type.ToDisplayParts(); // {int}
var f = typeInfo.Type.ContainingNamespace; // System
Обратите внимание, что это должно работать для каждого типа, поэтому я не могу просто конкатенировать пространство имен с именем.
Альтернативно: есть ли другой (более подходящий?) способ получить точный тип?
В контексте: я хочу проверить, содержат ли параметры типа класса несколько определенных методов. Поэтому мой подход состоял в том, чтобы получить параметры из TypeArgumentListSyntax и получить TypeInfo от каждого объекта TypeSyntax.