Ответ 1
Это довольно явно надзор. Я не мог найти источник, чтобы поддержать это, но поскольку он подходит для любого случая использования, который мы могли бы представить (я не могу представить никаких практических случаев использования), экономит разработчики не более одной строки кода. Хуже того, любой разработчик, который (по какой-либо причине) действительно хотел получить копию своего собственного буфера, вероятно, счел бы настолько маловероятным, чтобы TransformBlock
сделал бы это для нее, чтобы она, вероятно, сама написала эту строку кода!
outputBuffer
используется другими ICryptoTransforms
разумными способами (например, в качестве выходного буфера), поэтому он действительно должен содержать - когда не null и не перезаписывать входной буфер - промежуточный дайджест, тем более что он не является иным доступный из класса. (Предоставление промежуточного дайджеста является хорошей идеей всякий раз, когда ввод в алгоритм появляется в нескольких контекстах.)
Мое предположение: