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/MemberReferenceMapData.cs | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/MemberReferenceMapData.cs (limited to 'ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/MemberReferenceMapData.cs') diff --git a/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/MemberReferenceMapData.cs b/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/MemberReferenceMapData.cs new file mode 100644 index 0000000..0726a35 --- /dev/null +++ b/ThirdParty/CsvHelper-master/src/CsvHelper/Configuration/MemberReferenceMapData.cs @@ -0,0 +1,68 @@ +// 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.Reflection; + +namespace CsvHelper.Configuration +{ + /// + /// The configuration data for the reference map. + /// + public class MemberReferenceMapData + { + private string prefix; + + /// + /// Gets or sets the header prefix to use. + /// + public virtual string Prefix + { + get { return prefix; } + set + { + prefix = value; + foreach (var memberMap in Mapping.MemberMaps) + { + memberMap.Data.Names.Prefix = value; + } + + if (Inherit) + { + foreach (var memberRef in Mapping.ReferenceMaps) + { + memberRef.Data.Prefix = memberRef.Data.Prefix == null ? value : string.Concat(value, memberRef.Data.Prefix); + } + } + } + } + + /// + /// Gets or sets a value indicating if a prefix should inherit its parent. + /// true to inherit, otherwise false. + /// + public virtual bool Inherit { get; set; } + + /// + /// Gets the that the data + /// is associated with. + /// + public virtual MemberInfo Member { get; private set; } + + /// + /// Gets the mapping this is a reference for. + /// + public ClassMap Mapping { get; private set; } + + /// + /// Initializes a new instance of the class. + /// + /// The member. + /// The mapping this is a reference for. + public MemberReferenceMapData(MemberInfo member, ClassMap mapping) + { + Member = member; + Mapping = mapping; + } + } +} -- cgit v1.1-26-g67d0