public void Serialize(Map2 m) { ReflectiveSerializer.Serialize(StateMachine, m); m["¡StmType"] = StateMachine.GetType().SimpleQualifiedName(); m["¡Task"] = Task; }
internal static CMethodBuilder2 Deserialize(RMap rm) { var stmType = Type.GetType(rm["¡StmType"].ToString()); var stmInstance = (IAsyncStateMachine)Activator.CreateInstance(stmType); ReflectiveSerializer.Deserialize(rm, stmInstance); var builder = new CMethodBuilder2(); rm.WhenResolved <CTask2>("¡Task", t => builder.Task = t); builder.StateMachine = stmInstance; return(builder); }
/// <summary> /// Turns an object into a JSON string using reflection. /// </summary> /// <typeparam name="T">The desired type.</typeparam> /// <param name="Object">The object.</param> /// <param name="Indent">The optional indenting.</param> /// <returns></returns> public static string StringifyFrom <T>(T Object, bool Indent = false) { var Wrapped = ReflectiveSerializer.Serialize <T>(Object); return(Stringify(Wrapped, Indent)); }