public XmlSerializer this[Type type]
{
get
{
lock (lockObject)
{
XmlSerializer result = null;
var key = type.GenericTypeArguments[0].Name;
if (XmlSerializerList.Keys.Contains(key))
{
result = XmlSerializerList[key];
}
else
{
lock(lockObject)
{
result = new XmlSerializer(type);
if (!XmlSerializerList.Keys.Contains(key))
{
XmlSerializerList.Add(key, result);
}
}
}
return result;
}
}
}
}