示例#1
0
        private void HandleHeaders()
        {
            if (Configuration.ReadHeader == Cesil.ReadHeaders.Never)
            {
                // can just use the discovered copy from source
                ReadHeaders = Cesil.ReadHeaders.Never;
                TryMakeStateMachine();
                Columns = Configuration.DeserializeColumns;

                return;
            }

            var headerConfig =
                new ConcreteBoundConfiguration <T>(
                    Configuration.NewCons,
                    Configuration.DeserializeColumns,
                    Array.Empty <Column>(),
                    Array.Empty <bool>(),
                    Configuration.ValueSeparator,
                    Configuration.EscapedValueStartAndStop,
                    Configuration.EscapeValueEscapeChar,
                    RowEndings.Value,
                    Configuration.ReadHeader,
                    Configuration.WriteHeader,
                    Configuration.WriteTrailingNewLine,
                    Configuration.MemoryPool,
                    Configuration.CommentChar,
                    null,
                    Configuration.ReadBufferSizeHint
                    );

            using (
                var headerReader = new HeadersReader <T>(
                    headerConfig,
                    SharedCharacterLookup,
                    Inner,
                    Buffer
                    )
                )
            {
                var headers = headerReader.Read();

                HandleHeadersReaderResult(headers);
            }
        }
示例#2
0
 internal Reader(TextReader inner, ConcreteBoundConfiguration <T> config, object context) : base(config, context)
 {
     Inner = inner;
 }
示例#3
0
 internal AsyncWriter(ConcreteBoundConfiguration <T> config, TextWriter inner, object context) : base(config, context)
 {
     Inner = inner;
 }
示例#4
0
 internal AsyncWriter(ConcreteBoundConfiguration <T> config, IAsyncWriterAdapter inner, object?context) : base(config, inner, context)
 {
 }
示例#5
0
 internal Reader(IReaderAdapter inner, ConcreteBoundConfiguration <T> config, object?context, IRowConstructor <T> rowBuilder) : base(inner, config, context, rowBuilder, Utils.EffectiveColumnTreatmentForStatic(config))
 {
 }