We all know the Convert.ChangeType() for changing a value from one (unknown) type to another (unknown) type at runtime, but this method doesn’t handle nullables and enums very well. What may seem a simple task isn’t that simple after all. You have to differentiate nullables, value types and enums. I threw in a little recursion, [...]