C# CsvHelper版本22.1.2特定类型属性的默认类型转换器

C# CsvHelper版本22.1.2特定类型属性的默认类型转换器,c#,csvhelper,C#,Csvhelper,在以前版本的CsvHelper中,自定义类型转换器可以直接分配给CsvConfiguration对象,如Stackoverflow答案中所述。在22.1.2版中,TypeConverterCache似乎已移动到CsvContext类,但我无法访问它 using (var reader = new StreamReader(path)) using (var csv = new CsvReader(reader, csvConfig))

在以前版本的CsvHelper中,自定义类型转换器可以直接分配给CsvConfiguration对象,如Stackoverflow答案中所述。在22.1.2版中,TypeConverterCache似乎已移动到CsvContext类,但我无法访问它

            using (var reader = new StreamReader(path))
            using (var csv = new CsvReader(reader, csvConfig))
            {
                // this works to access the existing TypeConverterCache objects
                csv.Context.get_TypeConverterCache();

                // error: Property, indexer, or event 'CsvContext.TypeConverterCache' is not supported by the language; try directly calling accessor methods 'CsvContext.get_TypeConverterCache()' or 'CsvContext.set_TypeConverterCache(?)
                csv.Context.TypeConverterCache.AddConverter<bool>(new MyCustomBooleanConverter());

                // error: CsvContext.set_TypeConverterCache(?)' is not supported by the language
                csv.Context.set_TypeConverterCache(xyz);
            }
使用(变量读取器=新的流读取器(路径))
使用(var csv=新的CsvReader(读卡器,csvConfig))
{
//这用于访问现有的TypeConverterCache对象
get_TypeConverterCache();
//错误:该语言不支持属性、索引器或事件“CsvContext.TypeConverterCache”;请尝试直接调用访问器方法“CsvContext.get_TypeConverterCache()”或“CsvContext.set_TypeConverterCache(?)
csv.Context.TypeConverterCache.AddConverter(新的MyCustomBooleanConverter());
//错误:该语言不支持CsvContext.set_TypeConverterCache(?)
csv.Context.set_TypeConverterCache(xyz);
}
我正在尝试为所有布尔字段设置默认转换器。我可以在源代码中看到TypeConverterCache属性是CsvContext上的一个公共字段,所以我不确定我做错了什么

公共虚拟类型转换器缓存类型转换器缓存{get;set;}


是否有人了解在CsvHelper 22.1.2中为特定数据类型设置默认TyperConverter的最佳方法?

按照使用.NET 5似乎效果不错。我不太确定dotnetfiddle使用的是哪种C#版本,但我希望在使用.NET5时使用最新版本(9.0)

但是,在使用.NETFramework4.7.2时,我可以重现您的错误。我的猜测是使用了C#v7.3,但这只是一个猜测

因此,您的一个解决方案可能是升级到更新版本的C#。或者,我建议您在上创建一个问题,看看是否是为了防止作者不遵循此处的SO标记