I looked at the source and I found the following: for the class BarcodeReader it isn't true. The current source looks like the following:
/// Initializes a new instance of the <see cref="BarcodeReader"/> class.
: this(new MultiFormatReader(), defaultCreateLuminanceSource, null)
There is no null passed to the base class. So I think you talk about BarcodeReaderGeneric.
If so you are right. The constructor of BarcodeReaderGeneric:
/// Initializes a new instance of the <see cref="BarcodeReaderGeneric"/> class.
: this(new MultiFormatReader(), null, defaultCreateBinarizer)
That doesn't make sense at the first look.
But there is a function Decode(byte rawRGB, ...). That method uses a default luminance source for byte-arrays with
RGB values. It doesn't use the createLuminanceSource delegate. So it can be null.
If it is null you should not call the method Decode(T barcodeBitmap) which results to an exception.
The code isn't fully clean and clear, I know. But it works. :)