我有一个类,简单的像
class Example
{
uint id;
ushort value1;
string value2;
DateTime timestamp;
}
我也有一个csv,比如:
id;value1;value2;timestamp
5;0x2313;whatever;2012-12-23-12:14:34,567
6;0x2A14;something;2012-12-24:13:14:15:167
我想基于CSV创建对象,但真正的类要大得多,容易改变,所以我想使用反射。 我有一些代码获取属性的名称,并找到相应的字符串。我没有得到的是,我如何将字符串转换为属性的任何类型。我已经找到了一些代码示例如何对值进行CAST,但是将字符串转换为short并不是看起来像解决方案。
有什么想法吗?
答案 0 :(得分:4)
您可以使用Convert.ChangeType
方法:
myObject.Field = Convert.ChangeType(value, fieldType);
答案 1 :(得分:0)
您可能需要查看Convert课程。 如果您知道要将字符串转换为的类型,则可以使用该字符串。
或者,您可以使用类型的Parse()或TryParse()方法。
例如,要将字符串转换为短字符,可以使用Int16.TryParse()