From c47939bcac713d3ccfb7e52665f698c4ccfdcb5a Mon Sep 17 00:00:00 2001 From: Twenty Date: Wed, 16 Sep 2020 16:42:25 +0200 Subject: [PATCH] Fixed throw of error if same type is added twice --- .../StringyEnums.Benchmarks/BenchmarkEnum.cs | 22 +++++++++---------- .../StringyEnums.Benchmarks.csproj | 7 +++--- .../StringyEnums.Shared/Models/TestEnum.cs | 1 - src/StringyEnums/StringyEnums/EnumCore.cs | 3 ++- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/StringyEnums/StringyEnums.Benchmarks/BenchmarkEnum.cs b/src/StringyEnums/StringyEnums.Benchmarks/BenchmarkEnum.cs index a8a010c..502071b 100644 --- a/src/StringyEnums/StringyEnums.Benchmarks/BenchmarkEnum.cs +++ b/src/StringyEnums/StringyEnums.Benchmarks/BenchmarkEnum.cs @@ -1,4 +1,4 @@ -using System; + using System; namespace StringyEnums.Benchmarks { @@ -6,52 +6,52 @@ namespace StringyEnums.Benchmarks [EnumParser.EnumName] public enum BenchmarkEnum { - [StringyEnums.StringRepresentation("Value 1")] + [StringRepresentation("Value 1")] [Common.EnumStringValues.EnumStringValue("Value 1")] [EnumStringValues.StringValue("Value 1")] [EnumParser.EnumName("Value 1")] Val1 = 1, - [StringyEnums.StringRepresentation("Value 2")] + [StringRepresentation("Value 2")] [Common.EnumStringValues.EnumStringValue("Value 2")] [EnumStringValues.StringValue("Value 2")] [EnumParser.EnumName("Value 2")] Val2 = 2, - [StringyEnums.StringRepresentation("Value 3")] + [StringRepresentation("Value 3")] [Common.EnumStringValues.EnumStringValue("Value 3")] [EnumStringValues.StringValue("Value 3")] [EnumParser.EnumName("Value 3")] Val3 = 4, - [StringyEnums.StringRepresentation("Value 4")] + [StringRepresentation("Value 4")] [Common.EnumStringValues.EnumStringValue("Value 4")] [EnumStringValues.StringValue("Value 4")] [EnumParser.EnumName("Value 4")] Val4 = 8, - [StringyEnums.StringRepresentation("Value 5")] + [StringRepresentation("Value 5")] [Common.EnumStringValues.EnumStringValue("Value 5")] [EnumStringValues.StringValue("Value 5")] [EnumParser.EnumName("Value 5")] Val5 = 16, - [StringyEnums.StringRepresentation("Value 6")] + [StringRepresentation("Value 6")] [Common.EnumStringValues.EnumStringValue("Value 6")] [EnumStringValues.StringValue("Value 6")] [EnumParser.EnumName("Value 6")] Val6 = 32, - [StringyEnums.StringRepresentation("Value 7")] + [StringRepresentation("Value 7")] [Common.EnumStringValues.EnumStringValue("Value 7")] [EnumStringValues.StringValue("Value 7")] [EnumParser.EnumName("Value 7")] Val7 = 64, - [StringyEnums.StringRepresentation("Value 8")] + [StringRepresentation("Value 8")] [Common.EnumStringValues.EnumStringValue("Value 8")] [EnumStringValues.StringValue("Value 8")] [EnumParser.EnumName("Value 8")] Val8 = 128, - [StringyEnums.StringRepresentation("Value 9")] + [StringRepresentation("Value 9")] [Common.EnumStringValues.EnumStringValue("Value 9")] [EnumStringValues.StringValue("Value 9")] [EnumParser.EnumName("Value 9")] Val9 = 256, - [StringyEnums.StringRepresentation("Value 10")] + [StringRepresentation("Value 10")] [Common.EnumStringValues.EnumStringValue("Value 10")] [EnumStringValues.StringValue("Value 10")] [EnumParser.EnumName("Value 10")] diff --git a/src/StringyEnums/StringyEnums.Benchmarks/StringyEnums.Benchmarks.csproj b/src/StringyEnums/StringyEnums.Benchmarks/StringyEnums.Benchmarks.csproj index d4cf73b..c003672 100644 --- a/src/StringyEnums/StringyEnums.Benchmarks/StringyEnums.Benchmarks.csproj +++ b/src/StringyEnums/StringyEnums.Benchmarks/StringyEnums.Benchmarks.csproj @@ -13,6 +13,10 @@ + + + + Common.EnumStringValues.dll @@ -23,9 +27,6 @@ EnumStringValues.dll - - ..\StringyEnums\bin\Release\netstandard2.1\StringyEnums.dll - diff --git a/src/StringyEnums/StringyEnums.Shared/Models/TestEnum.cs b/src/StringyEnums/StringyEnums.Shared/Models/TestEnum.cs index 84b5cb5..07aee8a 100644 --- a/src/StringyEnums/StringyEnums.Shared/Models/TestEnum.cs +++ b/src/StringyEnums/StringyEnums.Shared/Models/TestEnum.cs @@ -9,7 +9,6 @@ public enum TestEnum EnumOne = 1, [StringRepresentation("Enum 2")] EnumTwo = 2, - [StringRepresentation("Enum 3")] EnumThree = 4, [StringRepresentation("Enum 4")] EnumFour = 8 diff --git a/src/StringyEnums/StringyEnums/EnumCore.cs b/src/StringyEnums/StringyEnums/EnumCore.cs index a073969..e43fdb1 100644 --- a/src/StringyEnums/StringyEnums/EnumCore.cs +++ b/src/StringyEnums/StringyEnums/EnumCore.cs @@ -44,7 +44,8 @@ private static void InitFromCache(CacheInitializer cache) { foreach (var cacheItem in cache.CustructCache()) { - RepresentationCache.Add(cacheItem); + if (!RepresentationCache.ContainsKey(cacheItem.Key)) + RepresentationCache.Add(cacheItem); } } }