using YamlDotNet.Serialization;
using YamlDotNet.Serialization.TypeInspectors;
using YamlDotNet.Serialization.NamingConventions;
public class YamlMemberDto
[YamlMember(Alias = "foobar")]
public string FooBar { get; set; }
[YamlMember(Alias = "quux_bletch")]
public string QuuxBletch { get; set; }
public static void Main()
var original = new YamlMemberDto
QuuxBletch = "quux bletch",
Console.WriteLine("# Without naming convention");
.Serialize(Console.Out, original);
Console.WriteLine("\n\n# With CamelCaseNamingConvention");
.WithNamingConvention(new CamelCaseNamingConvention())
.Serialize(Console.Out, original);
Console.WriteLine("\n\n# With CamelCaseNamingConvention and reversed inspectors");
.WithNamingConvention(new CamelCaseNamingConvention())
.WithTypeInspector(inner => inner, s => s.InsteadOf<YamlAttributesTypeInspector>())
.WithTypeInspector(inner => new YamlAttributesTypeInspector(inner), s => s.Before<NamingConventionTypeInspector>())
.Serialize(Console.Out, original);