I would recommend to have a the constructor outside of the #if/#else block and to only put the content of the constructor in a new block this way you avoid all the #if in the derived classes when you call the base constructor