Question

I'm using a DataTable and assigning columns different types. I have a scenario where I'm receiving String data and I want to parse it based on the column's assigned type, but I can't figure out how to get to the parse methods.

Is is it possible to access the Type instance's parse methods in a generic way?

Was it helpful?

Solution

You're looking for Convert.ChangeType.

OTHER TIPS

If you are using anything more than basic types (that Convert.ChangeType handles quite nicely), the preferred way of doing this is via the TypeConverter:

var converter = TypeDescriptor.GetConverter(type);
object val = converter.ConvertFromString(s); // note various overloads,
                                             // or ConvertFromInvariantString

This is convenient because this model can be extended to recognise additional types (or change the implementation for existing types), both at compile-time (adding [TypeConverter(...)]) or at run-time (TypeDescriptor.AddAttributes(...)).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top