public (CSharpProperty property, IEnumerable <ICSharpType> types) Build(string key, IEndpoint endpoint, IEndpointGenerator generator) => Build(key, (TEndpoint)endpoint, generator);
protected override (IEnumerable <ICSharpType> types, IEnumerable <CSharpIdentifier> typeArguments) GetAdditional(string key, IndexerEndpoint endpoint, IEndpointGenerator generator) { if (endpoint.Element == null) { throw new InvalidOperationException($"Missing element for endpoint '{key}'."); } string elementKey = key.TrimEnd('s') + "_Element"; var(property, types) = generator.Generate(elementKey, endpoint.Element); return(types, typeArguments : new [] { property.GetterExpression !.Type });