我正在使用DataTable
并指定不同类型的列。我有一个场景,我收到String
数据,我想根据列的指定类型解析它,但我无法弄清楚如何获得解析方法。
是否可以通用方式访问Type实例的解析方法?
答案 0 :(得分:5)
您正在寻找Convert.ChangeType
。
答案 1 :(得分:2)
如果您使用的不仅仅是基本类型(Convert.ChangeType
处理得非常好),那么首选的方法是通过TypeConverter
:
var converter = TypeDescriptor.GetConverter(type);
object val = converter.ConvertFromString(s); // note various overloads,
// or ConvertFromInvariantString
这很方便,因为可以在编译时(添加[TypeConverter(...)]
)或在运行时(TypeDescriptor.AddAttributes(...)
)扩展此模型以识别其他类型(或更改现有类型的实现) )。