Hatte nicht vermutet, dass das Problem so weitläufig ist

Von daher kann so eine Reader-Klasse durchaus ihren Sinn erfüllen. Zur Not würde ich an der Stelle evtl. noch über
RTTI nachdenken.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)