System.Xml.XmlBinaryNodeWriter.WriteTextNodeWithLength C# (CSharp) Méthode

WriteTextNodeWithLength() private méthode

private WriteTextNodeWithLength ( XmlBinaryNodeType nodeType, int length ) : void
nodeType XmlBinaryNodeType
length int
Résultat void
        private void WriteTextNodeWithLength(XmlBinaryNodeType nodeType, int length)
        {
            DiagnosticUtility.DebugAssert(nodeType == XmlBinaryNodeType.Chars8Text || nodeType == XmlBinaryNodeType.Bytes8Text || nodeType == XmlBinaryNodeType.UnicodeChars8Text, "");
            int offset;
            byte[] buffer = GetTextNodeBuffer(5, out offset);
            if (length < 256)
            {
                buffer[offset + 0] = (byte)nodeType;
                buffer[offset + 1] = (byte)length;
                Advance(2);
            }
            else if (length < 65536)
            {
                buffer[offset + 0] = (byte)(nodeType + 1 * 2); // WithEndElements interleave
                buffer[offset + 1] = (byte)length;
                length >>= 8;
                buffer[offset + 2] = (byte)length;
                Advance(3);
            }
            else
            {
                buffer[offset + 0] = (byte)(nodeType + 2 * 2); // WithEndElements interleave
                buffer[offset + 1] = (byte)length;
                length >>= 8;
                buffer[offset + 2] = (byte)length;
                length >>= 8;
                buffer[offset + 3] = (byte)length;
                length >>= 8;
                buffer[offset + 4] = (byte)length;
                Advance(5);
            }
        }