public static TypeReference ParseType(ModuleDefinition module, string fullname)
        {
            if (string.IsNullOrEmpty(fullname))
            {
                return(null);
            }
            TypeParser typeParser = new TypeParser(fullname);

            return(TypeParser.GetTypeReference(module, typeParser.ParseType(true)));
        }
        private static TypeReference TryCreateGenericInstanceType(TypeReference type, TypeParser.Type type_info)
        {
            TypeParser.Type[] genericArguments = type_info.generic_arguments;
            if (genericArguments.IsNullOrEmpty <TypeParser.Type>())
            {
                return(type);
            }
            GenericInstanceType        genericInstanceType = new GenericInstanceType(type);
            Collection <TypeReference> typeReferences      = genericInstanceType.GenericArguments;

            for (int i = 0; i < (int)genericArguments.Length; i++)
            {
                typeReferences.Add(TypeParser.GetTypeReference(type.Module, genericArguments[i]));
            }
            return(genericInstanceType);
        }