我有一个txt文件,我可以从中提取两个字符串(类型和值)。但是,我需要将它转换为正确的类型。请参见下面的代码。
string type;
string value;
//example 1 //from the txt file
type = "int";
value = "25";
//example 2
type = "double";
value = "1.3";
//example 3
type = "string";
value = "blablabla";
//conversion I would like to do:
dynamic finalResult = (type)element.Value; //this returns an error
我需要这样做,但是我不知道从字符串的内容创建一个对象类型。
我尝试声明一个Type:
Type myType = type;
但是我不知道如何正确地做。
2条答案
按热度按时间kd3sttzy1#
以清晰和类型安全的名义,我认为您应该只使用switch表达式和各种
.TryParse()
方法的组合,让它返回泛型类型您 * 真的 * 会遇到需要解析出 * 任何 * 类型的情况吗?这种方法允许您对所发生的事情保持完全控制。使用
dynamic
可能比您预期的要麻烦得多更新:感谢@ckuri指出您可能还希望使用try parse重载,该重载允许不变的文化,以便考虑国际编号方案。
更新2:添加了可空处理的示例
vyu0f0g12#
这有用吗?