@@ -384,54 +384,59 @@ internal PrimitiveList ItemsToPrimitiveList(IEnumerable items)
384
384
private ConverterCache ConverterCache = new ConverterCache ( ) ;
385
385
private ConversionSchema OriginalConversion ;
386
386
387
- private void AddConverters ( string suffix )
388
- {
389
- var typedConverterType = typeof ( Converter ) ;
390
- var assembly = typeof ( DynamoDBEntryConversion ) . Assembly ;
391
-
392
- var allTypes = assembly . GetTypes ( ) ;
393
-
394
- foreach ( var type in allTypes )
395
- {
396
- string fullName = type . FullName ;
397
-
398
- //if (type.Namespace != typedConverterType.Namespace)
399
- // continue;
400
-
401
- if ( type . IsAbstract )
402
- continue ;
403
-
404
- if ( ! type . Name . EndsWith ( suffix , StringComparison . Ordinal ) )
405
- continue ;
406
-
407
- if ( ! typedConverterType . IsAssignableFrom ( type ) )
408
- continue ;
409
-
410
- AddConverter ( type ) ;
411
- }
412
- }
413
387
internal void AddConverter ( Converter converter )
414
388
{
415
389
ConverterCache . AddConverter ( converter , this ) ;
416
390
}
417
391
418
- #if NET8_0_OR_GREATER
419
- internal void AddConverter ( [ System . Diagnostics . CodeAnalysis . DynamicallyAccessedMembers ( System . Diagnostics . CodeAnalysis . DynamicallyAccessedMemberTypes . PublicParameterlessConstructor ) ] Type type )
420
- #else
421
- internal void AddConverter ( Type type )
422
- #endif
423
- {
424
- var converter = Activator . CreateInstance ( type ) as Converter ;
425
- AddConverter ( converter ) ;
426
- }
427
-
428
392
private void SetV1Converters ( )
429
393
{
430
- AddConverters ( "ConverterV1" ) ;
394
+ AddConverter ( new ByteConverterV1 ( ) ) ;
395
+ AddConverter ( new SByteConverterV1 ( ) ) ;
396
+ AddConverter ( new UInt16ConverterV1 ( ) ) ;
397
+ AddConverter ( new Int16ConverterV1 ( ) ) ;
398
+ AddConverter ( new UInt32ConverterV1 ( ) ) ;
399
+ AddConverter ( new Int32ConverterV1 ( ) ) ;
400
+ AddConverter ( new UInt64ConverterV1 ( ) ) ;
401
+ AddConverter ( new Int64ConverterV1 ( ) ) ;
402
+ AddConverter ( new SingleConverterV1 ( ) ) ;
403
+ AddConverter ( new DoubleConverterV1 ( ) ) ;
404
+ AddConverter ( new DecimalConverterV1 ( ) ) ;
405
+ AddConverter ( new CharConverterV1 ( ) ) ;
406
+ AddConverter ( new StringConverterV1 ( ) ) ;
407
+ AddConverter ( new DateTimeConverterV1 ( ) ) ;
408
+ AddConverter ( new GuidConverterV1 ( ) ) ;
409
+ AddConverter ( new BytesConverterV1 ( ) ) ;
410
+ AddConverter ( new MemoryStreamConverterV1 ( ) ) ;
411
+ AddConverter ( new EnumConverterV1 ( ) ) ;
412
+ AddConverter ( new BoolConverterV1 ( ) ) ;
413
+ AddConverter ( new PrimitiveCollectionConverterV1 ( ) ) ;
414
+ AddConverter ( new DictionaryConverterV1 ( ) ) ;
431
415
}
416
+
432
417
private void SetV2Converters ( )
433
418
{
434
- AddConverters ( "ConverterV2" ) ;
419
+ AddConverter ( new ByteConverterV2 ( ) ) ;
420
+ AddConverter ( new SByteConverterV2 ( ) ) ;
421
+ AddConverter ( new UInt16ConverterV2 ( ) ) ;
422
+ AddConverter ( new Int16ConverterV2 ( ) ) ;
423
+ AddConverter ( new UInt32ConverterV2 ( ) ) ;
424
+ AddConverter ( new Int32ConverterV2 ( ) ) ;
425
+ AddConverter ( new UInt64ConverterV2 ( ) ) ;
426
+ AddConverter ( new Int64ConverterV2 ( ) ) ;
427
+ AddConverter ( new SingleConverterV2 ( ) ) ;
428
+ AddConverter ( new DoubleConverterV2 ( ) ) ;
429
+ AddConverter ( new DecimalConverterV2 ( ) ) ;
430
+ AddConverter ( new CharConverterV2 ( ) ) ;
431
+ AddConverter ( new StringConverterV2 ( ) ) ;
432
+ AddConverter ( new DateTimeConverterV2 ( ) ) ;
433
+ AddConverter ( new GuidConverterV2 ( ) ) ;
434
+ AddConverter ( new BytesConverterV2 ( ) ) ;
435
+ AddConverter ( new MemoryStreamConverterV2 ( ) ) ;
436
+ AddConverter ( new DictionaryConverterV2 ( ) ) ;
437
+ AddConverter ( new EnumConverterV2 ( ) ) ;
438
+ AddConverter ( new BoolConverterV2 ( ) ) ;
439
+ AddConverter ( new CollectionConverterV2 ( ) ) ;
435
440
}
436
441
437
442
// Converts items to Primitives.
@@ -460,7 +465,7 @@ private IEnumerable<Primitive> ToPrimitives(IEnumerable items, Type elementType)
460
465
}
461
466
}
462
467
463
- #endregion
468
+ #endregion
464
469
}
465
470
466
471
internal abstract class Converter
0 commit comments