Skip to content

Commit dd434bd

Browse files
committed
TryGetValue instead of ContainsKey + get
1 parent 06141b4 commit dd434bd

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

Shuttle.Core.Serialization/DefaultSerializer.cs

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,12 @@ public void AddSerializerType(Type root, Type contained)
9797
return;
9898
}
9999

100-
if (!_overrides.ContainsKey(root))
100+
if (!_overrides.TryGetValue(root, out var overrides))
101101
{
102-
_overrides.Add(root, new XmlAttributeOverrides());
102+
overrides = new XmlAttributeOverrides();
103+
_overrides.Add(root, overrides);
103104
}
104105

105-
var overrides = _overrides[root];
106-
107106
overrides.Add(contained,
108107
new XmlAttributes {XmlRoot = new XmlRootAttribute {Namespace = contained.Namespace}});
109108

@@ -123,25 +122,32 @@ private bool HasSerializerType(Type root, Type contained)
123122
{
124123
lock (Padlock)
125124
{
126-
return _overrides.ContainsKey(root) && _overrides[root][contained] != null;
125+
if (!_overrides.TryGetValue(root, out var overrides))
126+
{
127+
return false;
128+
}
129+
130+
return overrides[contained] != null;
127131
}
128132
}
129133

130134
private XmlSerializer GetSerializer(Type type)
131135
{
132136
lock (Padlock)
133137
{
134-
if (!_overrides.ContainsKey(type))
138+
if (!_overrides.TryGetValue(type, out var overrides))
135139
{
136-
_overrides.Add(type, new XmlAttributeOverrides());
140+
overrides = new XmlAttributeOverrides();
141+
_overrides.Add(type, overrides);
137142
}
138143

139-
if (!_serializers.ContainsKey(type))
144+
if (!_serializers.TryGetValue(type, out var serializer))
140145
{
141-
_serializers.Add(type, new XmlSerializer(type, _overrides[type]));
146+
serializer = new XmlSerializer(type, overrides);
147+
_serializers.Add(type, serializer);
142148
}
143149

144-
return _serializers[type];
150+
return serializer;
145151
}
146152
}
147153
}

0 commit comments

Comments
 (0)