Может ли HttpResponseMessage.Content быть нулевым?

Учитывая выражение:

responseBodyJson = await responseMsg.Content.ReadAsStringAsync();

Зная, что responseMsg является объектом HttpResponseMessage и не является нулевым, может ли Content (объект HttpContent) быть нулевым, другими словами, может ли это выражение вызывать NullReferenceException ?

🤔 А знаете ли вы, что...
C# поддерживает атрибуты, которые позволяют добавлять метаданные к коду.


71
1

Ответ:

Решено

Кажется, что он всегда будет создавать новый экземпляр, если он равен нулю.

https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.Http/src/System/Net/Http/HttpResponseMessage.cs

[AllowNull]
public HttpContent Content
{
    get { return _content ??= new EmptyContent(); }
    set
    {
        CheckDisposed();

        if (NetEventSource.Log.IsEnabled())
        {
            if (value == null)
            {
                NetEventSource.ContentNull(this);
            }
            else
            {
                NetEventSource.Associate(this, value);
            }
        }
        _content = value;
    }
}