Ejemplo n.º 1
0
        private static global::RecordParser.Parsers.IVariableLengthReader <string[]> BuildReader <T>(Activate <T> activate) where T : ICsvReadable
        {
            var columnCount = activate().GetColumnCount();
            var buffer      = new string[columnCount];
            var builder     = new global::RecordParser.Builders.Reader.VariableLengthReaderSequentialBuilder <string[]>();
            var cache       = new InternPool();

            for (var i = 0; i < columnCount; i++)
            {
                builder.Map(buildExpression(i), cache.Intern);
            }

            var reader = builder.Build(",", factory: () => buffer);

            return(reader);
        }