Updates to null reference types (#12317)

* Amended IFileSystem OpenFile to return Stream.Null rather than a nullable stream.

* Updated IUmbracoMapper to map enumerables without null elements given non-null inputs.

* Amended EntityRepositoryBase to not return null collections.

* Made IPublishedElement.Properties a non-nullable collection.
This commit is contained in:
Andy Butland
2022-04-29 08:19:34 +02:00
committed by GitHub
parent 5e2f26ac9b
commit b187c89113
25 changed files with 99 additions and 101 deletions

View File

@@ -5,7 +5,6 @@ using Microsoft.Extensions.Logging;
using NPoco;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Cache;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Models.Entities;
using Umbraco.Cms.Core.Persistence;
using Umbraco.Cms.Core.Persistence.Querying;
@@ -176,7 +175,7 @@ namespace Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement
/// <summary>
/// Gets a list of entities by the passed in query
/// </summary>
public IEnumerable<TEntity>? Get(IQuery<TEntity> query)
public IEnumerable<TEntity> Get(IQuery<TEntity> query)
{
// ensure we don't include any null refs in the returned collection!
@@ -210,9 +209,9 @@ namespace Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement
protected abstract TEntity? PerformGet(TId? id);
protected abstract IEnumerable<TEntity>? PerformGetAll(params TId[]? ids);
protected abstract IEnumerable<TEntity> PerformGetAll(params TId[]? ids);
protected abstract IEnumerable<TEntity>? PerformGetByQuery(IQuery<TEntity> query);
protected abstract IEnumerable<TEntity> PerformGetByQuery(IQuery<TEntity> query);
protected abstract void PersistNewItem(TEntity item);