【问题标题】:How do you deserialize static properties with YamlDotNet?如何使用 YamlDotNet 反序列化静态属性?
【发布时间】:2020-10-27 00:50:13
【问题描述】:

我无法将 yaml 反序列化为静态属性。当我尝试时,我得到了异常System.Runtime.Serialization.SerializationException: Property 'Test' not found on type 'Program+Config'. 这对我来说似乎很奇怪,因为我之前使用我的对象的静态 IEnumerable 成功地做到了这一点(我需要重新组织我的文件,所以我不能再这样做了)。有没有人成功做到这一点?

显示问题的最小示例:

    public static void Main()
    {
        var test = new Deserializer().Deserialize<Config>("Test: Value");
    }

    public class Config
    {
        public static string Test { get; set; }
    }

【问题讨论】:

  • 建议 - 如果 Test 属性不是静态的并且使用静态变量存储反序列化对象,这应该可以工作。
  • 既然你提到了,那是我之前反序列化文件的方式。虽然这样可行,但我已经着手使我的字段非静态并通过 DI 传播我的配置。

标签: c# deserialization yamldotnet


【解决方案1】:

你不能那样做。这不是 YamlDotNet 支持的东西,也没有计划支持它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多