public void AppendData(byte[] data, int offset, int count)
{
if (data == null)
throw new ArgumentNullException(nameof(data));
if (offset < 0)
throw new ArgumentOutOfRangeException(nameof(offset), SR.ArgumentOutOfRange_NeedNonNegNum);
if (count < 0 || (count > data.Length))
throw new ArgumentOutOfRangeException(nameof(count));
if ((data.Length - count) < offset)
throw new ArgumentException(SR.Argument_InvalidOffLen);
if (_disposed)
throw new ObjectDisposedException(typeof(IncrementalHash).Name);
Debug.Assert(_hash != null);
if (_resetPending)
{
_hash.Initialize();
_resetPending = false;
}
_hash.TransformBlock(data, offset, count, null, 0);
}