From 89556d5dfa4630e6780cad2a8d349e0fb9b4af34 Mon Sep 17 00:00:00 2001 From: Slendy Date: Sun, 2 Apr 2023 19:39:53 -0500 Subject: [PATCH] Make serializer cache use a tuple key --- ProjectLighthouse/Serialization/LighthouseSerializer.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ProjectLighthouse/Serialization/LighthouseSerializer.cs b/ProjectLighthouse/Serialization/LighthouseSerializer.cs index ea38160c..122a77ee 100644 --- a/ProjectLighthouse/Serialization/LighthouseSerializer.cs +++ b/ProjectLighthouse/Serialization/LighthouseSerializer.cs @@ -17,7 +17,7 @@ namespace LBPUnion.ProjectLighthouse.Serialization; public static class LighthouseSerializer { - private static readonly Dictionary serializerCache = new(); + private static readonly Dictionary<(Type, XmlRootAttribute?), CustomXmlSerializer> serializerCache = new(); private static readonly XmlSerializerNamespaces emptyNamespace = new(new[] { @@ -32,11 +32,11 @@ public static class LighthouseSerializer public static CustomXmlSerializer GetSerializer(Type type, XmlRootAttribute? rootAttribute = null) { - if (serializerCache.TryGetValue(type, out CustomXmlSerializer? value)) return value; + if (serializerCache.TryGetValue((type, rootAttribute), out CustomXmlSerializer? value)) return value; CustomXmlSerializer serializer = new(type, rootAttribute); - serializerCache.Add(type, serializer); + serializerCache.Add((type, rootAttribute), serializer); return serializer; }