From 2a1cd4fda8a4a8e649910d16b4dfa1ce7ae63543 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Fri, 12 May 2023 09:24:40 +0800 Subject: *misc --- .../Configuration/IParserConfiguration.cs | 176 +++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IParserConfiguration.cs (limited to 'ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IParserConfiguration.cs') diff --git a/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IParserConfiguration.cs b/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IParserConfiguration.cs new file mode 100644 index 0000000..dec8594 --- /dev/null +++ b/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/IParserConfiguration.cs @@ -0,0 +1,176 @@ +// Copyright 2009-2022 Josh Close +// This file is a part of CsvHelper and is dual licensed under MS-PL and Apache 2.0. +// See LICENSE.txt for details or visit http://www.opensource.org/licenses/ms-pl.html for MS-PL and http://opensource.org/licenses/Apache-2.0 for Apache 2.0. +// https://github.com/JoshClose/CsvHelper +using CsvHelper.Delegates; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Text; + +namespace CsvHelper.Configuration +{ + /// + /// Configuration used for the . + /// + public interface IParserConfiguration + { + /// + /// Gets the culture info used to read an write CSV files. + /// + CultureInfo CultureInfo { get; } + + /// + /// Cache fields that are created when parsing. + /// Default is false. + /// + bool CacheFields { get; } + + /// + /// The newline string to use. Default is \r\n (CRLF). + /// When writing, this value is always used. + /// When reading, this value is only used if explicitly set. + /// If not set, the parser uses one of \r\n, \r, or \n. + /// + string NewLine { get; } + + /// + /// A value indicating if was set. + /// + /// + /// true if was set. false if is the default. + /// + bool IsNewLineSet { get; } + + /// + /// The mode. + /// See for more details. + /// + CsvMode Mode { get; } + + /// + /// Gets the size of the buffer + /// used for parsing and writing CSV files. + /// Default is 0x1000. + /// + int BufferSize { get; } + + /// + /// The size of the buffer used when processing fields. + /// Default is 1024. + /// + int ProcessFieldBufferSize { get; } + + /// + /// Gets a value indicating whether the number of bytes should + /// be counted while parsing. Default is false. This will slow down parsing + /// because it needs to get the byte count of every char for the given encoding. + /// The needs to be set correctly for this to be accurate. + /// + bool CountBytes { get; } + + /// + /// Gets the encoding used when counting bytes. + /// + Encoding Encoding { get; } + + /// + /// Gets the function that is called when bad field data is found. A field + /// has bad data if it contains a quote and the field is not quoted (escaped). + /// You can supply your own function to do other things like logging the issue + /// instead of throwing an exception. + /// + BadDataFound BadDataFound { get; } + + /// + /// Gets or sets the maximum size of a field. + /// Defaults to 0, indicating maximum field size is not checked. + /// + double MaxFieldSize { get; } + + /// + /// Gets a value indicating if a line break found in a quote field should + /// be considered bad data. true to consider a line break bad data, otherwise false. + /// Defaults to false. + /// + bool LineBreakInQuotedFieldIsBadData { get; } + + /// + /// Gets the character used to denote + /// a line that is commented out. Default is '#'. + /// + char Comment { get; } + + /// + /// Gets a value indicating if comments are allowed. + /// true to allow commented out lines, otherwise false. + /// + bool AllowComments { get; } + + /// + /// Gets a value indicating if blank lines + /// should be ignored when reading. + /// true to ignore, otherwise false. Default is true. + /// + bool IgnoreBlankLines { get; } + + /// + /// Gets the character used to quote fields. + /// Default is '"'. + /// + char Quote { get; } + + /// + /// The delimiter used to separate fields. + /// Default is . + /// + string Delimiter { get; } + + /// + /// Detect the delimiter instead of using the delimiter from configuration. + /// Default is false. + /// + bool DetectDelimiter { get; } + + /// + /// Gets the function that is called when is enabled. + /// + GetDelimiter GetDelimiter { get; } + + /// + /// The possible delimiter values used when detecting the delimiter. + /// Default is [",", ";", "|", "\t"]. + /// + string[] DetectDelimiterValues { get; } + + /// + /// The character used to escape characters. + /// Default is '"'. + /// + char Escape { get; } + + /// + /// Gets the field trimming options. + /// + TrimOptions TrimOptions { get; } + + /// + /// Characters considered whitespace. + /// Used when trimming fields. + /// Default is [' ']. + /// + char[] WhiteSpaceChars { get; } + + /// + /// A value indicating if exception messages contain raw CSV data. + /// true if exception contain raw CSV data, otherwise false. + /// Default is true. + /// + bool ExceptionMessagesContainRawData { get; } + + /// + /// Validates the configuration. + /// + void Validate(); + } +} -- cgit v1.1-26-g67d0