public ScrapedGeneric(string type) { RawSwift = type; Name = ScrapeType(Helpers.ParseType(type.Split("<").First())); var insideOfTypes = type.Substring(type.IndexOf('<') + 1); insideOfTypes = insideOfTypes.Substring(0, insideOfTypes.Length - 1); var types = ScrapedParameter.ScrapeParameters(insideOfTypes); Types = new List <ScrapedType>(); foreach (var genType in types) { Types.Add(ScrapeType(genType)); } CSharpType = Name.CSharpType + "<" + string.Join(", ", Types.Select(genType => genType.CSharpType)) + ">"; CSharpType = CSharpType.Replace("<void>", ""); }