aaubry / YamlDotNet

YamlDotNet is a .NET library for YAML
MIT License
2.48k stars 466 forks source link

Questions about Custom Serialization #890

Open cd-zhang2020 opened 5 months ago

cd-zhang2020 commented 5 months ago

Hello,Is it possible to add attributes to specified fields to implement a custom serialization and deserialization method?

For example Newtonsoft.Json

[JsonConverter(typeof(CustomConverter))]

var serializer = new SerializerBuilder() .WithTypeConverter(new CustomConverter()) .Build();

I use the above code to customize the serialization, but this is a global method

EdwardCooke commented 5 months ago

Not that I’m aware of. You’d need to have multiple builders to do different type converters like your asking about.

cd-zhang2020 commented 5 months ago

@EdwardCooke Thank you for your answer,The functionality I want to implement cannot be handled with different types converters。

For example

serverConnector:
   id: server1
   addresses:
     - 127.0.0.1:8091
   protocol: grpc
   connectTimeout: 500ms
   messageTimeout: 5s
   connectionIdleTimeout: 60s
   serverSwitchInterval: 10m
   reconnectInterval: 500ms

Deserialize the string 500ms into the number 500, and deserialize the string 5s into the number 5000,I can't convert all strings to numbers