Skip to content

Commit b1d3a80

Browse files
committed
Resolve #23. Fix adding same type converters issue.
1 parent a1d54e7 commit b1d3a80

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/UnityMvvmToolkit.Core/Internal/ObjectHandlers/ValueConverterHandler.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,19 @@ private void RegisterValueConverter(IValueConverter valueConverter)
6262
converterHashByType = HashCodeHelper.GetPropertyConverterHashCode(converter);
6363
converterHashByName = HashCodeHelper.GetPropertyConverterHashCode(converter, converter.Name);
6464
break;
65+
6566
case IParameterValueConverter converter:
6667
converterHashByType = HashCodeHelper.GetParameterConverterHashCode(converter);
6768
converterHashByName = HashCodeHelper.GetParameterConverterHashCode(converter, converter.Name);
6869
break;
70+
6971
default:
7072
throw new ArgumentOutOfRangeException();
7173
}
7274

7375
_valueConvertersByHash.Add(converterTypeHash, valueConverter);
74-
_valueConvertersByHash.Add(converterHashByType, valueConverter);
7576
_valueConvertersByHash.Add(converterHashByName, valueConverter);
77+
_valueConvertersByHash.TryAdd(converterHashByType, valueConverter);
7678
}
7779
}
7880
}

src/UnityMvvmToolkit.UnityPackage/Assets/Plugins/UnityMvvmToolkit/Runtime/Core/Internal/ObjectHandlers/ValueConverterHandler.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,19 @@ private void RegisterValueConverter(IValueConverter valueConverter)
6262
converterHashByType = HashCodeHelper.GetPropertyConverterHashCode(converter);
6363
converterHashByName = HashCodeHelper.GetPropertyConverterHashCode(converter, converter.Name);
6464
break;
65+
6566
case IParameterValueConverter converter:
6667
converterHashByType = HashCodeHelper.GetParameterConverterHashCode(converter);
6768
converterHashByName = HashCodeHelper.GetParameterConverterHashCode(converter, converter.Name);
6869
break;
70+
6971
default:
7072
throw new ArgumentOutOfRangeException();
7173
}
7274

7375
_valueConvertersByHash.Add(converterTypeHash, valueConverter);
74-
_valueConvertersByHash.Add(converterHashByType, valueConverter);
7576
_valueConvertersByHash.Add(converterHashByName, valueConverter);
77+
_valueConvertersByHash.TryAdd(converterHashByType, valueConverter);
7678
}
7779
}
7880
}

0 commit comments

Comments
 (0)