我将配置文件从.json移植到.yaml格式。在Newtonsoft.Json中,我能够将属性应用于需要自定义转换器的属性,例如
[JsonConverter(typeof(CustomIdConverter))]
public IList<CustomID> Users { get; set; }
我如何使用YamlDotNet做同样的事情?
我知道转换器应该实现IYamlTypeConverter
接口,但是如何将此转换器应用于确切的属性?
答案 0 :(得分:2)
没有支持,尽管这将是一个有用的功能。支持的是将转换器与类型相关联。作为解决方法,您可以为属性创建自定义类型并将转换器与其关联:
public interface ICustomIDList : IList<CustomID> {}
public class CustomIDListConverter : IYamlTypeConverter { /* ... */ }
var deserializer = new DeserializerBuilder()
.WithTypeConverter(new CustomIDListConverter())
.Build();