dotnet/aspnetcore

FileMultipartSection.FileStream and MultipartSection.Body Nullability Differences

Open

#39.966 aberto em 3 de fev. de 2022

Ver no GitHub
 (3 comments) (0 reactions) (0 assignees)C# (10.653 forks)batch import
api-suggestionarea-networkinghelp wantedinvestigate

Métricas do repositório

Stars
 (37.933 stars)
Métricas de merge de PR
 (Mesclagem média 16d 9h) (258 fundiu PRs em 30d)

Description

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?

Guia do colaborador