首页 > 解决方案 > 重载参数不起作用(可能是因为框架)

问题描述

所以我复制了一个网站的样本。它关于将 YAML 反序列化为对象图。我将代码粘贴到我的项目中,大部分都可以工作。所有的用途都是一样的。只有一个问题。

var deserializer = new Deserializer(namingConvention: new CamelCaseNamingConvention());

这里创建了一个新的反序列化器实例。但我的 vs 强调了命名约定红色。我的项目和示例的唯一区别是我的项目使用 .net 核心框架,而示例使用 .net 作为框架。老实说,我不知道 .net 和 .net core 之间的区别是什么,除了 .net core 主要用于服务器应用程序,而 .net 用于普通应用程序。(我觉得哈哈)

这是我复制的示例:https ://dotnetfiddle.net/HD2JXM

这是错误消息:错误信息

标签: c#.netasp.net-core

解决方案


据我所知,最好DeserializerBuilder在最新版本的库中使用,这样代码就变成了

var builder = new DeserializerBuilder();
var deserializer = builder
    .WithNamingConvention(CamelCaseNamingConvention.Instance)
    .Build();

根据发行说明 v4.0.0

Serializer和的构造函数Deserializer现在已过时,无参数版本除外。和 类现在应该用于配置和创建(反)序列化程序的实例SerializerBuilderDeserializerBuilder


推荐阅读