@@ -331,7 +331,9 @@ public virtual void WriteRecord<T>(T record)
331331 {
332332 try
333333 {
334- recordManager . Value . GetWriterAction < T > ( GetTypeInfoForRecord ( record ) ) ( record ) ;
334+ var recordTypeInfo = GetTypeInfoForRecord ( record ) ;
335+ var write = recordManager . Value . GetWriteDelegate < T > ( recordTypeInfo ) ;
336+ write ( record ) ;
335337 }
336338 catch ( TargetInvocationException ex )
337339 {
@@ -362,8 +364,8 @@ public virtual void WriteRecords(IEnumerable records)
362364 NextRecord ( ) ;
363365 }
364366
365- Action < object > writerAction = null ;
366- RecordTypeInfo writerActionType = default ;
367+ Action < object > write = null ;
368+ RecordTypeInfo writeType = default ;
367369
368370 foreach ( var record in records )
369371 {
@@ -374,13 +376,13 @@ public virtual void WriteRecords(IEnumerable records)
374376 continue ;
375377 }
376378
377- if ( writerAction == null || writerActionType . RecordType != record . GetType ( ) )
379+ if ( write == null || writeType . RecordType != record . GetType ( ) )
378380 {
379- writerActionType = GetTypeInfoForRecord ( record ) ;
380- writerAction = recordManager . Value . GetWriterAction < object > ( writerActionType ) ;
381+ writeType = GetTypeInfoForRecord ( record ) ;
382+ write = recordManager . Value . GetWriteDelegate < object > ( writeType ) ;
381383 }
382384
383- writerAction ( record ) ;
385+ write ( record ) ;
384386 NextRecord ( ) ;
385387 }
386388 }
@@ -402,18 +404,18 @@ public virtual void WriteRecords<T>(IEnumerable<T> records)
402404 NextRecord ( ) ;
403405 }
404406
405- Action < T > writerAction = null ;
406- RecordTypeInfo writerActionType = default ;
407+ Action < T > write = null ;
408+ RecordTypeInfo writeType = default ;
407409
408410 foreach ( var record in records )
409411 {
410- if ( writerAction == null || ( record != null && writerActionType . RecordType != record . GetType ( ) ) )
412+ if ( write == null || ( record != null && writeType . RecordType != typeof ( T ) ) )
411413 {
412- writerActionType = GetTypeInfoForRecord ( record ) ;
413- writerAction = recordManager . Value . GetWriterAction < T > ( writerActionType ) ;
414+ writeType = GetTypeInfoForRecord ( record ) ;
415+ write = recordManager . Value . GetWriteDelegate < T > ( writeType ) ;
414416 }
415417
416- writerAction ( record ) ;
418+ write ( record ) ;
417419 NextRecord ( ) ;
418420 }
419421 }
@@ -438,20 +440,20 @@ public virtual async Task WriteRecordsAsync(IEnumerable records, CancellationTok
438440 await NextRecordAsync ( ) . ConfigureAwait ( false ) ;
439441 }
440442
441- Action < object > writerAction = null ;
442- RecordTypeInfo writerActionType = default ;
443+ Action < object > write = null ;
444+ RecordTypeInfo writeType = default ;
443445
444446 foreach ( var record in records )
445447 {
446448 cancellationToken . ThrowIfCancellationRequested ( ) ;
447449
448- if ( writerAction == null || ( record != null && writerActionType . RecordType != record . GetType ( ) ) )
450+ if ( write == null || ( record != null && writeType . RecordType != record . GetType ( ) ) )
449451 {
450- writerActionType = GetTypeInfoForRecord ( record ) ;
451- writerAction = recordManager . Value . GetWriterAction < object > ( writerActionType ) ;
452+ writeType = GetTypeInfoForRecord ( record ) ;
453+ write = recordManager . Value . GetWriteDelegate < object > ( writeType ) ;
452454 }
453455
454- writerAction ( record ) ;
456+ write ( record ) ;
455457 await NextRecordAsync ( ) . ConfigureAwait ( false ) ;
456458 }
457459 }
@@ -476,20 +478,20 @@ public virtual async Task WriteRecordsAsync<T>(IEnumerable<T> records, Cancellat
476478 await NextRecordAsync ( ) . ConfigureAwait ( false ) ;
477479 }
478480
479- Action < T > writerAction = null ;
480- RecordTypeInfo writerActionType = default ;
481+ Action < T > write = null ;
482+ RecordTypeInfo writeType = default ;
481483
482484 foreach ( var record in records )
483485 {
484486 cancellationToken . ThrowIfCancellationRequested ( ) ;
485487
486- if ( writerAction == null || ( record != null && writerActionType . RecordType != record . GetType ( ) ) )
488+ if ( write == null || ( record != null && writeType . RecordType != typeof ( T ) ) )
487489 {
488- writerActionType = GetTypeInfoForRecord ( record ) ;
489- writerAction = recordManager . Value . GetWriterAction < T > ( writerActionType ) ;
490+ writeType = GetTypeInfoForRecord ( record ) ;
491+ write = recordManager . Value . GetWriteDelegate < T > ( writeType ) ;
490492 }
491493
492- writerAction ( record ) ;
494+ write ( record ) ;
493495 await NextRecordAsync ( ) . ConfigureAwait ( false ) ;
494496 }
495497 }
@@ -514,20 +516,20 @@ public virtual async Task WriteRecordsAsync<T>(IAsyncEnumerable<T> records, Canc
514516 await NextRecordAsync ( ) . ConfigureAwait ( false ) ;
515517 }
516518
517- Action < T > writerAction = null ;
518- RecordTypeInfo writerActionType = default ;
519+ Action < T > write = null ;
520+ RecordTypeInfo writeType = default ;
519521
520522 await foreach ( var record in records . ConfigureAwait ( false ) )
521523 {
522524 cancellationToken . ThrowIfCancellationRequested ( ) ;
523525
524- if ( writerAction == null || ( record != null && writerActionType . RecordType != record . GetType ( ) ) )
526+ if ( write == null || ( record != null && writeType . RecordType != typeof ( T ) ) )
525527 {
526- writerActionType = GetTypeInfoForRecord ( record ) ;
527- writerAction = recordManager . Value . GetWriterAction < T > ( writerActionType ) ;
528+ writeType = GetTypeInfoForRecord ( record ) ;
529+ write = recordManager . Value . GetWriteDelegate < T > ( writeType ) ;
528530 }
529531
530- writerAction ( record ) ;
532+ write ( record ) ;
531533 await NextRecordAsync ( ) . ConfigureAwait ( false ) ;
532534 }
533535 }
0 commit comments