コード例 #1
0
        public void Serialize(global::Brimborium.Latrans.JSON.JsonWriter writer, global::Brimborium.Latrans.JSONCodeGenerator.ObjectSerializationInfo value, global::Brimborium.Latrans.JSON.IJsonFormatterResolver formatterResolver)
        {
            if (value == null)
            {
                writer.WriteNull();
                return;
            }


            writer.WriteBeginObject();
            writer.WriteStartProperty(this.____JsonSerializationInfo, 0);
            writer.WriteString(value.Name);
            writer.WriteStartProperty(this.____JsonSerializationInfo, 1);
            writer.WriteString(value.FullName);
            writer.WriteStartProperty(this.____JsonSerializationInfo, 2);
            writer.WriteString(value.Namespace);
            writer.WriteStartProperty(this.____JsonSerializationInfo, 3);
            writer.WriteBoolean(value.IsClass);
            writer.WriteStartProperty(this.____JsonSerializationInfo, 4);
            writer.WriteBoolean(value.IsStruct);
            writer.WriteStartProperty(this.____JsonSerializationInfo, 5);
            formatterResolver.GetFormatterWithVerify <global::Brimborium.Latrans.JSONCodeGenerator.MemberSerializationInfo[]>().Serialize(writer, value.ConstructorParameters, formatterResolver);
            writer.WriteStartProperty(this.____JsonSerializationInfo, 6);
            formatterResolver.GetFormatterWithVerify <global::Brimborium.Latrans.JSONCodeGenerator.MemberSerializationInfo[]>().Serialize(writer, value.Members, formatterResolver);
            writer.WriteStartProperty(this.____JsonSerializationInfo, 7);
            writer.WriteString(value.FormatterName);
            writer.WriteStartProperty(this.____JsonSerializationInfo, 8);
            writer.WriteBoolean(value.HasConstructor);
            writer.WriteStartProperty(this.____JsonSerializationInfo, 9);
            writer.WriteInt32(value.WriteCount);

            writer.WriteEndObject();
        }
コード例 #2
0
        public global::Brimborium.Latrans.JSONCodeGenerator.ObjectSerializationInfo Deserialize(global::Brimborium.Latrans.JSON.JsonReader reader, global::Brimborium.Latrans.JSON.IJsonFormatterResolver formatterResolver)
        {
            if (reader.ReadIsNull())
            {
                return(null);
            }


            var __v__Name                  = default(string);
            var __s__Name                  = false;
            var __v__FullName              = default(string);
            var __s__FullName              = false;
            var __v__Namespace             = default(string);
            var __s__Namespace             = false;
            var __v__IsClass               = default(bool);
            var __s__IsClass               = false;
            var __v__IsStruct              = default(bool);
            var __s__IsStruct              = false;
            var __v__ConstructorParameters = default(global::Brimborium.Latrans.JSONCodeGenerator.MemberSerializationInfo[]);
            var __s__ConstructorParameters = false;
            var __v__Members               = default(global::Brimborium.Latrans.JSONCodeGenerator.MemberSerializationInfo[]);
            var __s__Members               = false;
            var __v__FormatterName         = default(string);
            var __s__FormatterName         = false;
            var __v__HasConstructor        = default(bool);
            var __s__HasConstructor        = false;
            var __v__WriteCount            = default(int);
            var __s__WriteCount            = false;
            var ____count                  = 0;

            reader.ReadIsBeginObjectWithVerify();
            //
            while (!reader.ReadIsEndObjectWithSkipValueSeparator(ref ____count))
            {
                int key;
                if (reader.TryGetParameterValue(this.____JsonSerializationInfo, out key))
                {
                    reader.ReadNextBlock();
                    continue;
                }
                else
                {
                    switch (key)
                    {
                    case 0:
                        __v__Name = reader.ReadString();
                        __s__Name = true;
                        break;

                    case 1:
                        __v__FullName = reader.ReadString();
                        __s__FullName = true;
                        break;

                    case 2:
                        __v__Namespace = reader.ReadString();
                        __s__Namespace = true;
                        break;

                    case 3:
                        __v__IsClass = reader.ReadBoolean();
                        __s__IsClass = true;
                        break;

                    case 4:
                        __v__IsStruct = reader.ReadBoolean();
                        __s__IsStruct = true;
                        break;

                    case 5:
                        __v__ConstructorParameters = formatterResolver.GetFormatterWithVerify <global::Brimborium.Latrans.JSONCodeGenerator.MemberSerializationInfo[]>().Deserialize(reader, formatterResolver);
                        __s__ConstructorParameters = true;
                        break;

                    case 6:
                        __v__Members = formatterResolver.GetFormatterWithVerify <global::Brimborium.Latrans.JSONCodeGenerator.MemberSerializationInfo[]>().Deserialize(reader, formatterResolver);
                        __s__Members = true;
                        break;

                    case 7:
                        __v__FormatterName = reader.ReadString();
                        __s__FormatterName = true;
                        break;

                    case 8:
                        __v__HasConstructor = reader.ReadBoolean();
                        __s__HasConstructor = true;
                        break;

                    case 9:
                        __v__WriteCount = reader.ReadInt32();
                        __s__WriteCount = true;
                        break;

                    default:
                        reader.ReadNextBlock();
                        break;
                    }
                }
            }

            var ____result = new global::Brimborium.Latrans.JSONCodeGenerator.ObjectSerializationInfo();

            if (__s__Name)
            {
                ____result.Name = __v__Name;
            }
            if (__s__FullName)
            {
                ____result.FullName = __v__FullName;
            }
            if (__s__Namespace)
            {
                ____result.Namespace = __v__Namespace;
            }
            if (__s__IsClass)
            {
                ____result.IsClass = __v__IsClass;
            }
            if (__s__ConstructorParameters)
            {
                ____result.ConstructorParameters = __v__ConstructorParameters;
            }
            if (__s__Members)
            {
                ____result.Members = __v__Members;
            }
            if (__s__HasConstructor)
            {
                ____result.HasConstructor = __v__HasConstructor;
            }

            return(____result);
        }