Wo ist da konkret der Unterschied zu Uwes Vorschlag?
Mein letzter Satz
Sinnvollerweise würde man das in einer virtuellen Basis-Klasse implementieren und das parameterlose ValidateOption jeweils überschreiben.
wäre dann nicht mehr so einfach umsetzbar wie gezeigt.