Skip to content

Commit 338bbdd

Browse files
Reintroduce IChar interface
Removing a public interface is a breaking change, in case someone is implementing the interface for some reason.
1 parent 8a8b1e3 commit 338bbdd

File tree

4 files changed

+18
-7
lines changed

4 files changed

+18
-7
lines changed

src/Umbraco.Core/Configuration/Models/CharItem.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
using Umbraco.Cms.Core.Configuration.UmbracoSettings;
2+
13
namespace Umbraco.Cms.Core.Configuration.Models
24
{
3-
public class CharItem
5+
public class CharItem : IChar
46
{
57
/// <summary>
68
/// The character to replace

src/Umbraco.Core/Configuration/Models/RequestHandlerSettings.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,13 @@ public class RequestHandlerSettings
7878
/// <summary>
7979
/// Add additional character replacements, or override defaults
8080
/// </summary>
81-
public CharItem[] CharCollection { get; set; }
81+
public IEnumerable<IChar> CharCollection { get; set; }
8282

8383
/// <summary>
8484
/// Get concatenated user and default character replacements
8585
/// taking into account <see cref="EnableDefaultCharReplacements"/>
8686
/// </summary>
87-
public IEnumerable<CharItem> GetCharReplacements()
87+
public IEnumerable<IChar> GetCharReplacements()
8888
{
8989
// TODO We need to special handle ":", as this character is special in keys
9090

@@ -109,7 +109,7 @@ public IEnumerable<CharItem> GetCharReplacements()
109109
}
110110
}
111111

112-
var mergedCollections = DefaultCharCollection.Union(CharCollection, new CharacterReplacementEqualityComparer());
112+
var mergedCollections = DefaultCharCollection.Union<IChar>(CharCollection, new CharacterReplacementEqualityComparer());
113113

114114
return mergedCollections;
115115
}

src/Umbraco.Core/Configuration/UmbracoSettings/CharacterReplacementEqualityComparer.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
namespace Umbraco.Cms.Core.Configuration.UmbracoSettings
55
{
6-
public class CharacterReplacementEqualityComparer : IEqualityComparer<CharItem>
6+
public class CharacterReplacementEqualityComparer : IEqualityComparer<IChar>
77
{
8-
public bool Equals(CharItem x, CharItem y)
8+
public bool Equals(IChar x, IChar y)
99
{
1010
if (ReferenceEquals(x, y))
1111
{
@@ -30,7 +30,7 @@ public bool Equals(CharItem x, CharItem y)
3030
return x.Char == y.Char && x.Replacement == y.Replacement;
3131
}
3232

33-
public int GetHashCode(CharItem obj)
33+
public int GetHashCode(IChar obj)
3434
{
3535
unchecked
3636
{
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace Umbraco.Cms.Core.Configuration.UmbracoSettings
2+
{
3+
public interface IChar
4+
{
5+
string Char { get; }
6+
7+
string Replacement { get; }
8+
}
9+
}

0 commit comments

Comments
 (0)