C#: Dynamic parse from System.Type
.net, c#, type-conversion
Solution
`TypeDescriptor` to the rescue!:
var converter = TypeDescriptor.GetConverter(propType);
var result = converter.ConvertFrom(myString);
All primitive types (plus `Nullable<TPrimitive>`, and numerous other built-in types) are integrated into the TypeConverter infrastructure already, and are thus supported 'out-of-the-box'.
To integrate a custom type into the `TypeConverter` infrastructure, implement your own `TypeConverter` and use `TypeConverterAttribute` to decorate the class to be converted, with your new `TypeConverter`
Problem
I have a Type, a String and an Object. Is there some way I can call the parse method or convert for that type on the string dynamically? Basically how do I remove the if statements in this logic ``` object value = new object(); String myString = "something"; Type propType = p.PropertyType; if(propType == Type.GetType("DateTime")) { value = DateTime.Parse(myString); } if (propType == Type.GetType("int")) { value = int.Parse(myString); } ``` And do someting more like this. ``` object value = new object(); String myString = "something"; Type propType = p.PropertyType; //this doesn't actually work value = propType .Parse(myString); ```