示例#1
0
    public override void Write(Utf8JsonWriter writer, QueryPropertyInfo value, JsonSerializerOptions options)
    {
        if (value == null)
        {
            writer.WriteNullValue();
            return;
        }

        if (value is BooleanQueryPropertyInfo bp)
        {
            writer.WriteStartObject();
            BooleanQueryPropertyInfo.WriteProperties(writer, bp, options);
            writer.WriteEndObject();
        }
        else if (value is DateTimeQueryPropertyInfo dp)
        {
            writer.WriteStartObject();
            DateTimeQueryPropertyInfo.WriteProperties(writer, dp, options);
            writer.WriteEndObject();
        }
        else if (value is EnumQueryPropertyInfo ep)
        {
            writer.WriteStartObject();
            EnumQueryPropertyInfo.WriteProperties(writer, ep, options);
            writer.WriteEndObject();
        }
        else
        {
            writer.WriteStartObject();

            QueryPropertyInfo.WriteProperties(writer, value, options);

            writer.WriteEndObject();
        }
    }