Fixes: Consistency for Nullable reference types in LINQ extensions methods #12692 (#12703)

* Ensure Name and Children can never return null.

* Name should be empty not null

* Ensure Name and Children type queries never return null

Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
This commit is contained in:
Dan Booth
2022-10-19 09:32:09 +01:00
committed by GitHub
parent 27e129a6b4
commit df19d4fc6d
8 changed files with 57 additions and 53 deletions

View File

@@ -23,7 +23,7 @@ public interface IPublishedContent : IPublishedElement
/// <summary>
/// Gets the name of the content item for the current culture.
/// </summary>
string? Name { get; }
string Name { get; }
/// <summary>
/// Gets the URL segment of the content item for the current culture.
@@ -141,10 +141,10 @@ public interface IPublishedContent : IPublishedElement
/// <summary>
/// Gets the children of the content item that are available for the current culture.
/// </summary>
IEnumerable<IPublishedContent>? Children { get; }
IEnumerable<IPublishedContent> Children { get; }
/// <summary>
/// Gets all the children of the content item, regardless of whether they are available for the current culture.
/// </summary>
IEnumerable<IPublishedContent>? ChildrenForAllCultures { get; }
IEnumerable<IPublishedContent> ChildrenForAllCultures { get; }
}

View File

@@ -24,7 +24,7 @@ namespace Umbraco.Cms.Core.Models.PublishedContent
public abstract int Id { get; }
/// <inheritdoc />
public virtual string? Name => this.Name(_variationContextAccessor);
public virtual string Name => this.Name(_variationContextAccessor);
/// <inheritdoc />
public virtual string? UrlSegment => this.UrlSegment(_variationContextAccessor);
@@ -69,7 +69,7 @@ namespace Umbraco.Cms.Core.Models.PublishedContent
public abstract IPublishedContent? Parent { get; }
/// <inheritdoc />
public virtual IEnumerable<IPublishedContent>? Children => this.Children(_variationContextAccessor);
public virtual IEnumerable<IPublishedContent> Children => this.Children(_variationContextAccessor);
/// <inheritdoc />
public abstract IEnumerable<IPublishedContent> ChildrenForAllCultures { get; }

View File

@@ -54,7 +54,7 @@ public abstract class PublishedContentWrapped : IPublishedContent
public IPublishedContent Unwrap() => _content;
/// <inheritdoc />
public virtual string? Name => _content.Name;
public virtual string Name => _content.Name;
/// <inheritdoc />
public virtual string? UrlSegment => _content.UrlSegment;
@@ -99,10 +99,10 @@ public abstract class PublishedContentWrapped : IPublishedContent
public virtual bool IsPublished(string? culture = null) => _content.IsPublished(culture);
/// <inheritdoc />
public virtual IEnumerable<IPublishedContent>? Children => _content.Children;
public virtual IEnumerable<IPublishedContent> Children => _content.Children;
/// <inheritdoc />
public virtual IEnumerable<IPublishedContent>? ChildrenForAllCultures => _content.ChildrenForAllCultures;
public virtual IEnumerable<IPublishedContent> ChildrenForAllCultures => _content.ChildrenForAllCultures;
/// <inheritdoc cref="IPublishedElement.Properties" />
public virtual IEnumerable<IPublishedProperty> Properties => _content.Properties;