.net core CSVHelper带有System.Reflection的泛型类映射

.net core CSVHelper带有System.Reflection的泛型类映射,.net-core,system.reflection,csvhelper,c#-8.0,.net Core,System.reflection,Csvhelper,C# 8.0,我正在尝试将我的类的属性映射到CSV的列名,而不需要像这样在类映射中写入每一行 Map(rm=>rm.pusrcrequestedobject).Name(“#p#u USR_CR_requestedbject”) 因为我们有很多列的映射类型基本相同。 因此,我尝试了以下代码: var classMap = csv.Configuration.AutoMap<RequestMonitoring>(); foreach (var property in typeof(RequestM

我正在尝试将我的类的属性映射到CSV的列名,而不需要像这样在类映射中写入每一行

Map(rm=>rm.pusrcrequestedobject).Name(“#p#u USR_CR_requestedbject”)

因为我们有很多列的映射类型基本相同。 因此,我尝试了以下代码:

var classMap = csv.Configuration.AutoMap<RequestMonitoring>();

foreach (var property in typeof(RequestMonitoring).GetProperties())
{
    var columnName = property.Name switch
    {
        "PNdsPn"    => "$P_NDS_PN",
        { } x when x.StartsWith("PUsrCr")   => property.Name.Replace("PUsrCr", "#P_USR_CR_"),
        _           => property.Name
    };
    classMap.Map(requestMonitoring => property).Name(columnName);
}
var classMap=csv.Configuration.AutoMap();
foreach(typeof(RequestMonitoring).GetProperties()中的var属性)
{
var columnName=property.Name开关
{
“PNdsPn”=>“$P_NDS_PN”,
{}x当x.StartsWith(“PUsrCr”)=>property.Name.Replace(“PUsrCr”),“#P#u USR_CR”),
_=>属性名称
};
Map(requestMonitoring=>property).Name(columnName);
}
我没有得到一个错误,但是如果我调试类映射,上面的代码没有任何效果

因此,问题是如何修复代码片段,或者如果不可能,可能如何对每个属性应用相同的名称转换

classMap.Map(typeof(RequestMonitoring),property).Name(columnName);
试试这个

classMap.Map(typeof(RequestMonitoring),property).Name(columnName);