System.Xml.ReadContentAsBinaryHelper.CreateOrReset C# (CSharp) Méthode

CreateOrReset() static private méthode

static private CreateOrReset ( ReadContentAsBinaryHelper helper, XmlReader reader ) : ReadContentAsBinaryHelper
helper ReadContentAsBinaryHelper
reader XmlReader
Résultat ReadContentAsBinaryHelper
        internal static ReadContentAsBinaryHelper CreateOrReset( ReadContentAsBinaryHelper helper, XmlReader reader ) {
            if ( helper == null ) {
                return new ReadContentAsBinaryHelper( reader );
            }
            else {
                helper.Reset();
                return helper;
            }
        }

Usage Example

Exemple #1
0
        public override async Task <int> ReadElementContentAsBinHexAsync(byte[] buffer, int index, int count)
        {
            if (ReadState != ReadState.Interactive)
            {
                return(0);
            }

            // init ReadContentAsBinaryHelper when called first time
            if (_validationState != ValidatingReaderState.OnReadBinaryContent)
            {
                _readBinaryHelper = ReadContentAsBinaryHelper.CreateOrReset(_readBinaryHelper, this);
                _savedState       = _validationState;
            }

            // restore original state in order to have a normal Read() behavior when called from readBinaryHelper
            _validationState = _savedState;

            // call to the helper
            Debug.Assert(_readBinaryHelper != null);
            int readCount = await _readBinaryHelper.ReadElementContentAsBinHexAsync(buffer, index, count).ConfigureAwait(false);

            // set OnReadBinaryContent state again and return
            _savedState      = _validationState;
            _validationState = ValidatingReaderState.OnReadBinaryContent;
            return(readCount);
        }
All Usage Examples Of System.Xml.ReadContentAsBinaryHelper::CreateOrReset