System.Xml.XmlDictionaryReader.TryGetArrayLength C# (CSharp) Méthode

TryGetArrayLength() public méthode

public TryGetArrayLength ( int &count ) : bool
count int
Résultat bool
        public virtual bool TryGetArrayLength(out int count)
        {
            count = 0;
            return false;
        }

Usage Example

        public TArray[] ReadArray(XmlDictionaryReader reader, TArgument localName, TArgument namespaceUri, int maxArrayLength)
        {
            TArray[][] arrays     = null;
            TArray[]   array      = null;
            int        arrayCount = 0;
            int        totalRead  = 0;
            int        count;

            if (reader.TryGetArrayLength(out count))
            {
                if (count > XmlDictionaryReader.MaxInitialArrayLength)
                {
                    count = XmlDictionaryReader.MaxInitialArrayLength;
                }
            }
            else
            {
                count = 32;
            }
            while (true)
            {
                array = new TArray[count];
                int read = 0;
                while (read < array.Length)
                {
                    int actual = ReadArray(reader, localName, namespaceUri, array, read, array.Length - read);
                    if (actual == 0)
                    {
                        break;
                    }
                    read += actual;
                }
                totalRead += read;
                if (read < array.Length || reader.NodeType == XmlNodeType.EndElement)
                {
                    break;
                }
                if (arrays == null)
                {
                    arrays = new TArray[32][];
                }
                arrays[arrayCount++] = array;
                count = count * 2;
            }
            if (totalRead != array.Length || arrayCount > 0)
            {
                TArray[] newArray = new TArray[totalRead];
                int      offset   = 0;
                for (int i = 0; i < arrayCount; i++)
                {
                    Array.Copy(arrays[i], 0, newArray, offset, arrays[i].Length);
                    offset += arrays[i].Length;
                }
                Array.Copy(array, 0, newArray, offset, totalRead - offset);
                array = newArray;
            }
            return(array);
        }
All Usage Examples Of System.Xml.XmlDictionaryReader::TryGetArrayLength