private static string GetFullName(TypeSignature signature)
{
var specification = signature as TypeSpecificationSignature;
if (specification != null)
return GetFullName(specification);
var typeDefOrRef = signature as TypeDefOrRefSignature;
if (typeDefOrRef != null)
return typeDefOrRef.Type.FullName;
var corlibType = signature as MsCorLibTypeSignature;
if (corlibType != null)
return corlibType.FullName;
throw new NotSupportedException("Invalid or unsupported type signature: " + signature.FullName + ".");
}