System.IO.TextReader.ReadAsyncInternal C# (CSharp) Method

ReadAsyncInternal() private method

private ReadAsyncInternal ( char buffer, int index, int count ) : Task
buffer char
index int
count int
return Task
        internal virtual Task<int> ReadAsyncInternal(char[] buffer, int index, int count)
        {
            Debug.Assert(buffer != null);
            Debug.Assert(index >= 0);
            Debug.Assert(count >= 0);
            Debug.Assert(buffer.Length - index >= count);

            var tuple = new Tuple<TextReader, char[], int, int>(this, buffer, index, count);
            return Task<int>.Factory.StartNew(state =>
            {
                var t = (Tuple<TextReader, char[], int, int>)state;
                return t.Item1.Read(t.Item2, t.Item3, t.Item4);
            },
            tuple, CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default);
        }