/// <inheritdoc cref="ISerializationElement.Serialize" />
        public void Serialize(HessianOutputWriter writer, object graph, HessianSerializationContext context)
        {
            if (null == graph)
            {
                writer.WriteNull();
                return;
            }

            var index = context.Instances.IndexOf(graph);

            if (index > -1)
            {
                writer.WriteInstanceReference(index);
                return;
            }

            context.Instances.Add(graph);

            index = context.Classes.IndexOf(ObjectType);

            if (0 > index)
            {
            }

            using (writer.BeginArray(ObjectType.Name))
            {
                foreach (var item in (IEnumerable)graph)
                {
                    Element.Serialize(writer, item, context);
                }
            }
        }
Example #2
0
        /// <inheritdoc cref="ISerializationElement.Serialize" />
        public void Serialize(HessianOutputWriter writer, object graph, HessianSerializationContext context)
        {
            if (null == graph)
            {
                writer.WriteNull();
                return;
            }

            var index = context.Instances.IndexOf(graph);

            if (index > -1)
            {
                writer.WriteInstanceReference(index);
                return;
            }

            context.Instances.Add(graph);

            index = context.Classes.IndexOf(ObjectType);

            if (0 > index)
            {
            }

            WriteArray(writer, (Array)graph, context);
        }
Example #3
0
        public void Serialize(HessianOutputWriter writer, object graph, HessianSerializationContext context)
        {
            if (null == graph)
            {
                writer.WriteNull();
                return;
            }

            using (writer.BeginCall(MethodInfo.Name))
            {
                var parameters = (Array)graph;

                for (var index = 0; index < Arguments.Count; index++)
                {
                    Arguments[index].Serialize(writer, parameters.GetValue(index), context);
                }
            }

            /*var index = context.Instances.IndexOf(graph);
             *
             * if (index > -1)
             * {
             *  writer.WriteInstanceReference(index);
             *  return;
             * }
             *
             * context.Instances.Add(graph);
             *
             * index = context.Classes.IndexOf(ObjectType);
             *
             * if (0 > index)
             * {
             *
             * }*/

            /*using (writer.BeginArray(ObjectType.Name))
             * {
             *  foreach (var item in (IEnumerable)graph)
             *  {
             *      Element.Serialize(writer, item, context);
             *  }
             * }*/
        }
Example #4
0
        /// <inheritdoc />
        public void Serialize(HessianOutputWriter writer, object graph, HessianSerializationContext context)
        {
            if (null == graph)
            {
                writer.WriteNull();
                return;
            }

            /*var index = context.Instances.IndexOf(graph);
             *
             * if (index > -1)
             * {
             *  writer.WriteInstanceReference(index);
             *  return;
             * }
             *
             * context.Instances.Add(graph);*/

            writer.WriteBytes((byte[])graph);
        }