System.Xml.ByteStack.Push C# (CSharp) Méthode

Push() public méthode

public Push ( byte data ) : void
data byte
Résultat void
        public void Push(byte data) {
            if (size == top) {
                byte[] newstack = new byte[size + growthRate];
                if (top > 0) {
                    Buffer.BlockCopy(stack, 0, newstack, 0, top);
                }
                stack = newstack;
                size += growthRate;
            }
            stack[top++] = data;
        }

Usage Example

        // For the HTML element, it should call this method with ns and prefix as String.Empty
        public override void WriteStartElement(string prefix, string localName, string ns)
        {
            Debug.Assert(localName != null && localName.Length != 0 && prefix != null && ns != null);

            elementScope.Push((byte)currentElementProperties);

            if (ns.Length == 0)
            {
                Debug.Assert(prefix.Length == 0);

                if (trackTextContent && inTextContent != false)
                {
                    ChangeTextContentMark(false);
                }
                currentElementProperties = (ElementProperties)elementPropertySearch.FindCaseInsensitiveString(localName);
                base.bufChars[bufPos++]  = (char)'<';
                base.RawText(localName);
                base.attrEndPos = bufPos;
            }
            else
            {
                // Since the HAS_NS has no impact to the ElementTextBlock behavior,
                // we don't need to push it into the stack.
                currentElementProperties = ElementProperties.HAS_NS;
                base.WriteStartElement(prefix, localName, ns);
            }
        }
All Usage Examples Of System.Xml.ByteStack::Push