public static void Serialize(JsonObjectValidator validator, IFormatter f, JsonSchemaValidationContext c, T value) { if (s_serializer == null) { var t = typeof(T); if (t == typeof(object)) { throw new ArgumentException("object cannot serialize"); } var serializer = new Serializer(); var fields = t.GetFields(BindingFlags.Instance | BindingFlags.Public); foreach (var fi in fields) { serializer.AddField(fi); } s_serializer = serializer; } s_serializer.Serialize(validator, f, c, value); }