public static Serializer CreatePooled(System.Type type) { lookupPooledTypeData.SetToType(type); Serializer serializer; if (!typeSerializerDictionary.TryGetValue(lookupPooledTypeData, out serializer)) { TypeSerializationMetadata typeMetadata = new TypeSerializationMetadata(type); serializer = Create(typeMetadata); typeSerializerDictionary.Add(typeMetadata, serializer); } return(serializer); }
public static Serializer CreatePooled(System.Type type) { Serializer serializer; lock (_pooledSerializerLock) { _lookupPooledTypeData.SetToType(type); if (!_typeSerializerDictionary.TryGetValue(_lookupPooledTypeData, out serializer)) { TypeSerializationMetadata typeMetadata = new TypeSerializationMetadata(type); serializer = Create(typeMetadata); _typeSerializerDictionary.Add(typeMetadata, serializer); } } return(serializer); }