Exemple #1
0
        public void write(object obj, IProtocolFormatter formatter)
        {
            ReferenceCache referenceCache = formatter.GetReferenceCache();
            int            refId          = referenceCache.GetStringId(obj);

            if (refId != -1)
            {
                formatter.WriteStringReference(refId);
            }
            else
            {
                referenceCache.AddString(obj);
                formatter.getContextWriter().write(obj, formatter);
            }
        }
Exemple #2
0
        public void write(object obj, IProtocolFormatter writer)
        {
            int            refId          = -1;
            ReferenceCache referenceCache = null;

            if (isReferenceable)
            {
                referenceCache = writer.GetReferenceCache();
                refId          = referenceCache.GetStringId(obj);
            }

            if (refId != -1)
            {
                writer.WriteStringReference(refId);
            }
            else
            {
                if (isReferenceable)
                {
                    referenceCache.AddString(obj);
                }

                //formatter.getContextWriter().write( obj, formatter );
                if (obj is string)
                {
                    writer.WriteString((string)obj);
                }
                else if (obj is StringBuilder)
                {
                    writer.WriteString(((StringBuilder)obj).ToString());
                }
                else if (obj is Char)
                {
                    writer.WriteString(obj.ToString());
                }
                else if (obj is char[])
                {
                    writer.WriteString(new String((char[])obj));
                }
            }
        }