private JObject SerializeCodeblockToJObject(Codeblock block) { JToken type = block.GetType().ToString(); JArray evaluateables = new JArray(block.Arguments.Arguments.Select(a => SerializeCodeblockToJObject(a.Evaluateble as Codeblock)).ToArray()); JObject obj = new JObject { { "type", type }, { "evaluateables", evaluateables } }; return(obj); }
public string SerializeCodeblock(Codeblock block) => SerializeCodeblockToJObject(block).ToString(SerializerSettings.ToJsonSettings().Formatting);
public static Codeblock Create <T>() where T : Codeblock { Codeblock block = Activator.CreateInstance <T>(); return(block); }