Reintroduce IChar interface
Removing a public interface is a breaking change, in case someone is implementing the interface for some reason.
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
using Umbraco.Cms.Core.Configuration.UmbracoSettings;
|
||||
|
||||
namespace Umbraco.Cms.Core.Configuration.Models
|
||||
{
|
||||
public class CharItem
|
||||
public class CharItem : IChar
|
||||
{
|
||||
/// <summary>
|
||||
/// The character to replace
|
||||
|
||||
@@ -78,13 +78,13 @@ namespace Umbraco.Cms.Core.Configuration.Models
|
||||
/// <summary>
|
||||
/// Add additional character replacements, or override defaults
|
||||
/// </summary>
|
||||
public CharItem[] CharCollection { get; set; }
|
||||
public IEnumerable<IChar> CharCollection { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Get concatenated user and default character replacements
|
||||
/// taking into account <see cref="EnableDefaultCharReplacements"/>
|
||||
/// </summary>
|
||||
public IEnumerable<CharItem> GetCharReplacements()
|
||||
public IEnumerable<IChar> GetCharReplacements()
|
||||
{
|
||||
// TODO We need to special handle ":", as this character is special in keys
|
||||
|
||||
@@ -109,7 +109,7 @@ namespace Umbraco.Cms.Core.Configuration.Models
|
||||
}
|
||||
}
|
||||
|
||||
var mergedCollections = DefaultCharCollection.Union(CharCollection, new CharacterReplacementEqualityComparer());
|
||||
var mergedCollections = DefaultCharCollection.Union<IChar>(CharCollection, new CharacterReplacementEqualityComparer());
|
||||
|
||||
return mergedCollections;
|
||||
}
|
||||
|
||||
@@ -3,9 +3,9 @@ using Umbraco.Cms.Core.Configuration.Models;
|
||||
|
||||
namespace Umbraco.Cms.Core.Configuration.UmbracoSettings
|
||||
{
|
||||
public class CharacterReplacementEqualityComparer : IEqualityComparer<CharItem>
|
||||
public class CharacterReplacementEqualityComparer : IEqualityComparer<IChar>
|
||||
{
|
||||
public bool Equals(CharItem x, CharItem y)
|
||||
public bool Equals(IChar x, IChar y)
|
||||
{
|
||||
if (ReferenceEquals(x, y))
|
||||
{
|
||||
@@ -30,7 +30,7 @@ namespace Umbraco.Cms.Core.Configuration.UmbracoSettings
|
||||
return x.Char == y.Char && x.Replacement == y.Replacement;
|
||||
}
|
||||
|
||||
public int GetHashCode(CharItem obj)
|
||||
public int GetHashCode(IChar obj)
|
||||
{
|
||||
unchecked
|
||||
{
|
||||
|
||||
9
src/Umbraco.Core/Configuration/UmbracoSettings/IChar.cs
Normal file
9
src/Umbraco.Core/Configuration/UmbracoSettings/IChar.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Umbraco.Cms.Core.Configuration.UmbracoSettings
|
||||
{
|
||||
public interface IChar
|
||||
{
|
||||
string Char { get; }
|
||||
|
||||
string Replacement { get; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user