System.Xml.XmlBinaryNodeWriter.WriteInt32Text C# (CSharp) Method

WriteInt32Text() public method

public WriteInt32Text ( int value ) : void
value int
return void
        public override void WriteInt32Text(int value)
        {
            if (value >= -128 && value < 128)
            {
                if (value == 0)
                {
                    WriteTextNode(XmlBinaryNodeType.ZeroText);
                }
                else if (value == 1)
                {
                    WriteTextNode(XmlBinaryNodeType.OneText);
                }
                else
                {
                    int offset;
                    byte[] buffer = GetTextNodeBuffer(2, out offset);
                    buffer[offset + 0] = (byte)XmlBinaryNodeType.Int8Text;
                    buffer[offset + 1] = (byte)value;
                    Advance(2);
                }
            }
            else if (value >= -32768 && value < 32768)
            {
                int offset;
                byte[] buffer = GetTextNodeBuffer(3, out offset);
                buffer[offset + 0] = (byte)XmlBinaryNodeType.Int16Text;
                buffer[offset + 1] = (byte)value;
                value >>= 8;
                buffer[offset + 2] = (byte)value;
                Advance(3);
            }
            else
            {
                int offset;
                byte[] buffer = GetTextNodeBuffer(5, out offset);
                buffer[offset + 0] = (byte)XmlBinaryNodeType.Int32Text;
                buffer[offset + 1] = (byte)value;
                value >>= 8;
                buffer[offset + 2] = (byte)value;
                value >>= 8;
                buffer[offset + 3] = (byte)value;
                value >>= 8;
                buffer[offset + 4] = (byte)value;
                Advance(5);
            }
        }