C#: Reflection - Get Property Type, Switch on Type, Set Property Value