Ich mache das mehr so, weil es nicht immer passende Konvertierungen gibt.
Bei den Settern ist das durchaus sinnvoll. Da es hier aber ein dediziertes
Unknown gibt, kann man halt das als Fallback verwenden. Kommt immer auf die Verwendung an.
Die Getter müssen indes immer liefern können. Alles andere wäre ein Programmierfehler (zumindest bei dieser Art Anwendungsfälle). Bei der String-Rückgabe von
unk könnte man über einen Leerstring diskutieren, aber das passt dann nicht mehr ganz zum
RTTI-Ansatz.
OT: Ich bin eigentlich ein Freund von Properties. Die Anweisungen lassen sich dann einfacher mit dem
Reverse Assignment Feature oder dem
try-finally-Wizard umdrehen.