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 --- .../CsvHelper-master/src/CsvHelper/IWriterRow.cs | 135 +++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 ThirdParty/CsvHelper-master/src/CsvHelper/IWriterRow.cs (limited to 'ThirdParty/CsvHelper-master/src/CsvHelper/IWriterRow.cs') diff --git a/ThirdParty/CsvHelper-master/src/CsvHelper/IWriterRow.cs b/ThirdParty/CsvHelper-master/src/CsvHelper/IWriterRow.cs new file mode 100644 index 0000000..3b773b1 --- /dev/null +++ b/ThirdParty/CsvHelper-master/src/CsvHelper/IWriterRow.cs @@ -0,0 +1,135 @@ +// 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 System; +using CsvHelper.Configuration; +using CsvHelper.TypeConversion; + +namespace CsvHelper +{ + /// + /// Defines methods used to write a CSV row. + /// + public interface IWriterRow + { + /// + /// The header record. + /// + string[] HeaderRecord { get; } + + /// + /// The current row. + /// + int Row { get; } + + /// + /// The current field index. + /// + int Index { get; } + + /// + /// Gets the writing context. + /// + CsvContext Context { get; } + + /// + /// Gets or sets the configuration. + /// + IWriterConfiguration Configuration { get; } + + /// + /// Writes a field that has already been converted to a + /// from an . + /// If the field is null, it won't get written. A type converter + /// will always return a string, even if field is null. If the + /// converter returns a null, it means that the converter has already + /// written data, and the returned value should not be written. + /// + /// The converted field to write. + /// The type of the field before it was converted into a string. + void WriteConvertedField(string field, Type fieldType); + + /// + /// Writes the field to the CSV file. The field + /// may get quotes added to it. + /// When all fields are written for a record, + /// must be called + /// to complete writing of the current record. + /// + /// The field to write. + void WriteField(string field); + + /// + /// Writes the field to the CSV file. This will + /// ignore any need to quote and ignore + /// + /// and just quote based on the shouldQuote + /// parameter. + /// When all fields are written for a record, + /// must be called + /// to complete writing of the current record. + /// + /// The field to write. + /// True to quote the field, otherwise false. + void WriteField(string field, bool shouldQuote); + + /// + /// Writes the field to the CSV file. + /// When all fields are written for a record, + /// must be called + /// to complete writing of the current record. + /// + /// The type of the field. + /// The field to write. + void WriteField(T field); + + /// + /// Writes the field to the CSV file. + /// When all fields are written for a record, + /// must be called + /// to complete writing of the current record. + /// + /// The type of the field. + /// The field to write. + /// The converter used to convert the field into a string. + void WriteField(T field, ITypeConverter converter); + + /// + /// Writes the field to the CSV file + /// using the given . + /// When all fields are written for a record, + /// must be called + /// to complete writing of the current record. + /// + /// The type of the field. + /// The type of the converter. + /// The field to write. + void WriteField(T field); + + /// + /// Writes a comment. + /// + /// The comment to write. + void WriteComment(string comment); + + /// + /// Writes the header record from the given members. + /// + /// The type of the record. + void WriteHeader(); + + /// + /// Writes the header record from the given members. + /// + /// The type of the record. + void WriteHeader(Type type); + + /// + /// Writes the record to the CSV file. + /// + /// The type of the record. + /// The record to write. + void WriteRecord(T record); + } +} -- cgit v1.1-26-g67d0