Beispiel #1
0
        public static TResult Visit <TResult>(this IJsonVisitor <TResult> visitor, JsonValue value)
        {
            switch (value)
            {
            case JsonObject jsonObject:
                return(visitor.Object(jsonObject));

            case JsonArray jsonArray:
                return(visitor.Array(jsonArray));

            case JsonPrimitive jsonPrimitive:
                return(visitor.Primitive(jsonPrimitive));

            default:
                throw new ArgumentException($"Unexpected JSON type {value.Type} in evaluation tree");
            }
        }