Example #1
0
            public CodeMemberMethod GenerateSerializeMethod(Type t)
            {
                var m = new MethodHelper("_Serialize", typeof(bool), MemberAttributes.Static | MemberAttributes.Final | MemberAttributes.Public);

                CodeExpression dest  = m.Param("destination", typeof(SubArray <byte>), FieldDirection.Ref);
                CodeExpression value = m.Param("value", t, FieldDirection.In);

                m.AddAll(SerializeOrReturn(t, dest, value));

                m.Return(Expr("true"));
                return(m.Code);
            }
Example #2
0
            public CodeMemberMethod GenerateTryDeserializeMethod(Type t)
            {
                var m = new MethodHelper("_TryDeserialize", typeof(bool),
                                         MemberAttributes.Public | MemberAttributes.Final | MemberAttributes.Static);

                m.Param("source", typeof(RecvBuffer), FieldDirection.Ref);
                m.Param("value", t, FieldDirection.Out);

                if (IsNullable(t))
                {
                    m.Add(Decl("isNull", typeof(bool), Literal(false)));
                }

                m.AddAll(DeserializeOrReturn(t, Var("source"), Var("value")));
                m.Return("true");
                return(m.Code);
            }