dotnet/aspnetcore

FileMultipartSection.FileStream and MultipartSection.Body Nullability Differences

Open

#39,966 opened on 2022年2月3日

GitHub で見る
 (3 comments) (0 reactions) (0 assignees)C# (10,653 forks)batch import
api-suggestionarea-networkinghelp wantedinvestigate

Repository metrics

Stars
 (37,933 stars)
PR merge metrics
 (平均マージ 16d 9h) (30d で 258 merged PRs)

説明

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?

コントリビューターガイド