namespace GFramework.Game.Config; /// /// 提供可复用的 YAML 文本序列化入口,供生成配置绑定与宿主写回流程共享。 /// public static class YamlConfigTextSerializer { private static readonly ISerializer Serializer = new SerializerBuilder() .WithNamingConvention(CamelCaseNamingConvention.Instance) .DisableAliases() .ConfigureDefaultValuesHandling(DefaultValuesHandling.Preserve) .Build(); /// /// 将配置对象序列化为 YAML 文本。 /// /// 配置对象类型。 /// 要序列化的配置对象。 /// 带尾随换行的 YAML 文本。 /// 时抛出。 public static string Serialize(TValue value) { ArgumentNullException.ThrowIfNull(value); var yaml = Serializer.Serialize(value); return yaml.EndsWith('\n') ? yaml : $"{yaml}{Environment.NewLine}"; } }