积极答复者
[求助]如何自动强制转换类型。。

问题
答案
-
您好:)
就我所知,根据你的要求是无法做出的.因为你要转化一个string里边的内容(把string的值当成是转化条件).恐怕办不到.
我写了一个反射的方法,不过转化的条件是(小数点后面必须是0).
[示例代码]
int i = 8;
double j = 1.00;
string s = "System.Int32";
object obj = Type.GetType(s).GetMethod("Parse", BindingFlags.InvokeMethod | BindingFlags.Static | BindingFlags.Public, null, new Type[] { typeof(string),typeof(NumberStyles) }, null).Invoke(i, new object[] { j.ToString(),NumberStyles.AllowDecimalPoint });
i = (int)obj;
Console.WriteLine(i);
主要使用了(Parse的第二个重载函数,具体参考:)
http://msdn.microsoft.com/zh-cn/library/c09yxbyt.aspx
如果你有其它意见或私下交流,请发送邮件到:maledong@qq.com;或者请
下载MSDN桌面工具(Vista,Win7)
下载Technet桌面小工具(Vista,Win7)
慈善点击,点击此处- 已标记为答案 tssing 2011年6月7日 4:29
全部回复
-
您好:)
就我所知,根据你的要求是无法做出的.因为你要转化一个string里边的内容(把string的值当成是转化条件).恐怕办不到.
我写了一个反射的方法,不过转化的条件是(小数点后面必须是0).
[示例代码]
int i = 8;
double j = 1.00;
string s = "System.Int32";
object obj = Type.GetType(s).GetMethod("Parse", BindingFlags.InvokeMethod | BindingFlags.Static | BindingFlags.Public, null, new Type[] { typeof(string),typeof(NumberStyles) }, null).Invoke(i, new object[] { j.ToString(),NumberStyles.AllowDecimalPoint });
i = (int)obj;
Console.WriteLine(i);
主要使用了(Parse的第二个重载函数,具体参考:)
http://msdn.microsoft.com/zh-cn/library/c09yxbyt.aspx
如果你有其它意见或私下交流,请发送邮件到:maledong@qq.com;或者请
下载MSDN桌面工具(Vista,Win7)
下载Technet桌面小工具(Vista,Win7)
慈善点击,点击此处- 已标记为答案 tssing 2011年6月7日 4:29