3

構成ファイルを .json から .yaml 形式に移植しています。Newtonsoft.Json では、カスタム コンバーターが必要なプロパティに属性を適用できました。たとえば、

[JsonConverter(typeof(CustomIdConverter))]
public IList<CustomID> Users { get; set; }

YamlDotNetを使用して同じことを行うにはどうすればよいですか?

コンバーターがインターフェイスを実装する必要があることは知ってIYamlTypeConverterいますが、このコンバーターを正確なプロパティに適用するにはどうすればよいですか?

4

1 に答える 1

4

それは便利な機能ですが、それに対するサポートはありません。サポートされているのは、コンバーターを型に関連付けることです。回避策として、プロパティのカスタム タイプを作成し、コンバーターをそれに関連付けることができます。

public interface ICustomIDList : IList<CustomID> {}

public class CustomIDListConverter : IYamlTypeConverter { /* ... */ }

var deserializer = new DeserializerBuilder()
   .WithTypeConverter(new CustomIDListConverter())
   .Build();
于 2017-01-10T23:59:29.493 に答える