【发布时间】: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