dotnet/aspnetcore

FileMultipartSection.FileStream and MultipartSection.Body Nullability Differences

Open

#39.966 geöffnet am 3. Feb. 2022

Auf GitHub ansehen
 (3 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C# (10.653 Forks)batch import
api-suggestionarea-networkinghelp wantedinvestigate

Repository-Metriken

Stars
 (37.933 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 16T 9h) (258 gemergte PRs in 30 T)

Beschreibung

Background and Motivation

Not sure if this is really an API proposal, but it was the only issue template that made sense to me.

I noticed FileMultipartSection.FileStream is marked as a Nullable Stream, but MultipartSection.Body Stream is not Nullable. It looks like FileMultipartSection.FileStream is only set from the MultipartSection.Body so I would assume that both would have the same Nullable reference type. My only thought is that MultipartSection.Body has a public setter so it "could" be set to null, but if so then FileMultipartSection.FileStream should be null too. I could be overlooking something.

Proposed API

Both to have the same Nullability if that assumption is correct

Usage Examples

Either changing the MultipartSection Body property to

public Stream? Body { get; set; } = default;

or changing the FileMultipartSection.FileStream to

public Stream FileStream => Section.Body;

Alternative Designs

Leave it as is. I could be looking at this wrong so I apolgize.

Risks

Could add warnings / errors to existing code that uses the Nullable feature if the change was to Stream and not Stream?

Contributor Guide