@@ -506,21 +506,21 @@ private void InitializeSerializers(
506
506
IAsyncSerializer < TValue > asyncValueSerializer )
507
507
{
508
508
// setup key serializer.
509
- if ( typeof ( TKey ) == typeof ( Memory < byte > ) || typeof ( TKey ) == typeof ( ReadOnlyMemory < byte > ) )
509
+ if ( keySerializer == null && asyncKeySerializer == null )
510
510
{
511
- if ( keySerializer != null || asyncKeySerializer != null )
511
+ if ( defaultSerializers . TryGetValue ( typeof ( TKey ) , out object serializer ) )
512
512
{
513
- throw new ArgumentNullException ( null , "Key serializer should not be specified for Memory<byte>" ) ;
513
+ this . keySerializer = ( ISerializer < TKey > ) serializer ;
514
514
}
515
- }
516
- else if ( keySerializer == null && asyncKeySerializer == null )
517
- {
518
- if ( ! defaultSerializers . TryGetValue ( typeof ( TKey ) , out object serializer ) )
515
+ else if ( typeof ( TValue ) == typeof ( Memory < byte > ) || typeof ( TValue ) == typeof ( ReadOnlyMemory < byte > ) )
516
+ {
517
+ // Serializers are not used for Memory<byte>.
518
+ }
519
+ else
519
520
{
520
521
throw new ArgumentNullException (
521
522
$ "Key serializer not specified and there is no default serializer defined for type { typeof ( TKey ) . Name } .") ;
522
523
}
523
- this . keySerializer = ( ISerializer < TKey > ) serializer ;
524
524
}
525
525
else if ( keySerializer == null && asyncKeySerializer != null )
526
526
{
@@ -536,21 +536,22 @@ private void InitializeSerializers(
536
536
}
537
537
538
538
// setup value serializer.
539
- if ( typeof ( TValue ) == typeof ( Memory < byte > ) || typeof ( TValue ) == typeof ( ReadOnlyMemory < byte > ) )
539
+ if ( valueSerializer == null && asyncValueSerializer == null )
540
540
{
541
- if ( valueSerializer != null || asyncValueSerializer != null )
541
+ if ( defaultSerializers . TryGetValue ( typeof ( TValue ) , out object serializer ) )
542
542
{
543
- throw new ArgumentNullException ( null , "Value serializer should not be specified for Memory<byte>" ) ;
543
+ this . valueSerializer = ( ISerializer < TValue > ) serializer ;
544
544
}
545
- }
546
- else if ( valueSerializer == null && asyncValueSerializer == null )
547
- {
548
- if ( ! defaultSerializers . TryGetValue ( typeof ( TValue ) , out object serializer ) )
545
+ else if ( typeof ( TValue ) == typeof ( Memory < byte > ) || typeof ( TValue ) == typeof ( ReadOnlyMemory < byte > ) )
546
+ {
547
+ // Serializers are not used for Memory<byte>.
548
+ }
549
+ else
549
550
{
550
551
throw new ArgumentNullException (
551
552
$ "Value serializer not specified and there is no default serializer defined for type { typeof ( TValue ) . Name } .") ;
552
553
}
553
- this . valueSerializer = ( ISerializer < TValue > ) serializer ;
554
+
554
555
}
555
556
else if ( valueSerializer == null && asyncValueSerializer != null )
556
557
{
0 commit comments