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);
        }
示例#3
0
        /// <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));
        }