dotnet/aspnetcore

FileMultipartSection.FileStream and MultipartSection.Body Nullability Differences

Open

#39,966 创建于 2022年2月3日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)C# (10,653 fork)batch import
api-suggestionarea-networkinghelp wantedinvestigate

仓库指标

Star
 (37,933 star)
PR 合并指标
 (平均合并 16天 9小时) (30 天内合并 258 个 PR)

描述

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?

贡献者指南