【发布时间】:2013-07-16 12:05:43
【问题描述】:
我想动态转换数据类型。
我的代码:
private static void updateValues(SqlDataReader reader)
{
USR_AddressItem item = new USR_AddressItem();
Type ConvertNewType;
ConvertNewType = Type.GetType(item.UserId.GetType().Name);
item.UserId = (ConvertNewType)(reader[UserDAL.USR_Address.FieldNames.UserId]);
}
这里的数据类型只是动态的。因为我想在运行时为这个变量赋值。我将从SqlDataReader 获取值。此阅读器始终返回字符串值。我将在全局范围内使用此方法。
【问题讨论】:
-
这个问题的“动态”是什么?
-
动态类型转换很困难,你经常想用一个switch case来实现你已经实现的类型转换,却发现你无法切换
Type类型的变量 -
检查我的答案并享受。使用泛型小菜一碟!
-
Type.GetType(item.UserId.GetType().Name);喜欢这个:) 为什么不item.UserId.GetType() -
类似这样的东西:gist.github.com/Alxandr/6008481?