dotnet/runtime

PipeReader.AdvanceTo throws InvalidCastException

Open

#849 geöffnet am 13. Dez. 2019

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)C# (5.445 Forks)batch import
area-System.IO.Pipelineshelp wanted

Repository-Metriken

Stars
 (17.886 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 12T 11h) (661 gemergte PRs in 30 T)

Beschreibung

I'm puzzled by the fact that PipeReader.AdvanceTo accepts a default(SequencePosition) but throws InvalidCastException when provided a position from an empty sequence. Is that by design?

var pipe = new Pipe();
pipe.Reader.AdvanceTo(default); // this works
pipe.Reader.AdvanceTo(ReadOnlySequence<byte>.Empty.Start); // this throws InvalidCastException

Should it throw ArgumentException instead given the SequencePosition came from an unrelated ReadOnlySequence<byte>?

I'm a bit puzzled that PipeReader.AdvanceTo can be called before reading anyway.

Contributor Guide