public static GenderedItem <TItem> Parse <TItem>( MutagenFrame frame, UtilityTranslation.BinaryMasterParseDelegate <TItem> transl, RecordTypeConverter?recordTypeConverter = null) { if (!transl(frame, out var male, recordTypeConverter)) { throw new ArgumentException(); } if (!transl(frame, out var female, recordTypeConverter)) { throw new ArgumentException(); } return(new GenderedItem <TItem>(male, female)); }
public static GenderedItem <TItem?> Parse <TItem>( MutagenFrame frame, UtilityTranslation.BinaryMasterParseDelegate <TItem> transl, RecordTypeConverter femaleRecordConverter, RecordTypeConverter?maleRecordConverter = null) where TItem : class { if (!transl(frame, out var male, maleRecordConverter)) { male = null; } if (!transl(frame, out var female, femaleRecordConverter)) { female = null; } return(new GenderedItem <TItem?>(male, female)); }