/// <summary> /// Serializes the schema. /// </summary> /// <param name="schema">The schema.</param> /// <param name="schemaType">Type of the schema.</param> /// <param name="schemaBody">The schema body.</param> public void SerializeSchema(IValueSchema <object> schema, out Type schemaType, out string schemaBody) { SchemaJsonSerializationVisitor visitor = new SchemaJsonSerializationVisitor(); schema.Accept(visitor); schemaType = visitor.SchemaType; schemaBody = visitor.JsonValue; }
public void Accept(IValueSchemaVisitor visitor) { _real.Accept(visitor); }
/// <summary> /// Serializes the property. /// </summary> /// <param name="name">The name.</param> /// <param name="value">The value.</param> /// <param name="schema">The schema.</param> /// <returns></returns> public PropertyElement Serialize(string name,object value,IValueSchema<object> schema) { PropertyElement element=new PropertyElement(); JsonSchemaSerializationVisitor visitor=new JsonSchemaSerializationVisitor(); schema.Accept(visitor); Action<PropertyElement, object> action; if(_setMap.TryGetValue(visitor.ValueType,out action)) { action.Invoke(element,value); } else { StringWriter writer=new StringWriter(); _serializer.Serialize(writer,value); element.ValString = writer.ToString(); } element.SchemaType = visitor.SchemaType.FullName; element.TypeOfValue = visitor.ValueType.FullName; element.SchemaBody = visitor.JsonValue; return element; }