private SerializerPair TryGetIntrinsicSerializer(TypeInfo typeInfo) { if (!ReflectionSerializerVerifier.HasIntrinsicMethods(typeInfo)) { return(null); } var genericArguments = typeInfo.GetGenericArguments(); if (genericArguments.Length == 1) { var argument = genericArguments[0]; var staticRead = GetReadStaticSerializer(typeInfo, argument); var staticWrite = GetWriteStaticDeserializer(typeInfo); return(SerializerPair.CreateFromMethods(staticRead, staticWrite, GetOrRegisterSerializerInternal(argument))); } if (genericArguments.Length == 0) { var staticRead = GetReadStaticSerializer(typeInfo); var staticWrite = GetWriteStaticDeserializer(typeInfo); return(SerializerPair.CreateFromMethods(staticRead, staticWrite)); } return(null); }