示例#1
0
        public static object CreateObject(this object receiver, string method, string modelName,
                                          WriteSettings settings, QName root)
        {
            TkDebug.AssertArgumentNullOrEmpty(method, "method", null);
            TkDebug.AssertArgumentNull(settings, "settings", null);

            if (receiver == null)
            {
                return(null);
            }

            IObjectSerializer serializer = CreateSerializer(method);
            object            writer     = serializer.CreateWriter(null, settings);

            using (writer as IDisposable)
            {
                SerializerUtil.WriteSerializer(serializer, writer, receiver, modelName, settings, root, null);
                return(writer);
            }
        }
示例#2
0
        //public static string WriteToString(this object receiver, string method,
        //    WriteSettings settings, QName root)
        //{
        //    return WriteToString(receiver, method, null, settings, root);
        //}

        public static string WriteToString(this object receiver, string method, string modelName,
                                           WriteSettings settings, QName root)
        {
            TkDebug.AssertArgumentNullOrEmpty(method, "method", null);
            TkDebug.AssertArgumentNull(settings, "settings", null);

            if (receiver == null)
            {
                return(null);
            }

            IObjectSerializer serializer = CreateSerializer(method);
            MemoryStream      stream     = new MemoryStream();
            object            writer     = serializer.CreateWriter(stream, settings);

            using (writer as IDisposable)
            {
                SerializerUtil.WriteSerializer(serializer, writer, receiver, modelName, settings, root, null);
                byte[] data = stream.ToArray();
                return(settings.Encoding.GetString(data, 0, data.Length));
            }
        }