将Object类型的变量转换成反射获取的类型 除非你自己swich去挨个类型判断,否则做不到.也不需要这样.反射可以直接给变量赋值,也可以实例化类,并调用类里面的方法.不需要用一个具体的类型来接. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Convert.ChangeType(obj,typeSomeClass); 除非你自己swich去挨个类型判断,否则做不到.也不需要这样.反射可以直接给变量赋值,也可以实例化类,并调用类里面的方法.不需要用一个具体的类型来接.因为变量obj其实也是通过某些反射,然后调用Invoke得到的返回值,所以需要类型转换。关键是要转换的类型也是通过反射得到的。 如果你的obj是中间结果,你需要通过obj将类实例化,完全可以用反射来实现,而不是先转类型如果你的obj是最终结果,那么应该是一个可以预见的类型,而不是某个类可以switch判断,然后拆箱 关键是为什么要类型转换,转换完又做什么.如果可以不用转换呢?不要拍脑袋想个方案,忘掉了最终的目的.转换完成是一个结构体,然后再通过反射访问里面的某些属性。如果不转换,针对Object反射不到这些属性的 反射调用方法:Type typeSomeClass = Type.GetType("SomeClass");MethodInfo MI=typeSomeClass.GetMethod("function1");object[ ] p=new object[]{1,"2",3.3};object obj=MI.Invork(this,p);obj是函数返回值 你应该想办法通过反射直接获取结构体里面的属性,而不是转换.否则还反射干嘛,直接写死不就得了.要反射,就每一步都反射,反射获取了类之后,又写一堆switch给转类型,那不如一开始就switch 感谢各位的解答。因为整个过程都是在反射,取值,然后再反射的结果里面再反射取值,所有的类型也是反射得到的。因为是编译的代码是在低版本的SDK是,而又要想能执行在高版本SDK的某些功能,编译不了的类型方法只有反射了。 c#怎么将activeX标记为“脚本安全” 关于“短信猫”接收后的字符串处理 关于绑定数据 新手程序 如何让winform任务栏的右键菜单显示?在线等 UDP套接字编程如何穿过路由器或者防火墙 SqlDataAdapter.update问题...急!! 求C#的多媒体方面的资料! 请问用 RichTextBox 控件 如何制作语法编辑器? 如何比较两个DataSet的结构? C#如何打印图片和信息?求指教。 动态生成标签
反射可以直接给变量赋值,也可以实例化类,并调用类里面的方法.不需要用一个具体的类型来接.因为变量obj其实也是通过某些反射,然后调用Invoke得到的返回值,所以需要类型转换。
关键是要转换的类型也是通过反射得到的。
可以switch判断,然后拆箱
如果可以不用转换呢?
不要拍脑袋想个方案,忘掉了最终的目的.
转换完成是一个结构体,然后再通过反射访问里面的某些属性。如果不转换,针对Object反射不到这些属性的
Type typeSomeClass = Type.GetType("SomeClass");
MethodInfo MI=typeSomeClass.GetMethod("function1");
object[ ] p=new object[]{1,"2",3.3};
object obj=MI.Invork(this,p);
obj是函数返回值
否则还反射干嘛,直接写死不就得了.
要反射,就每一步都反射,反射获取了类之后,又写一堆switch给转类型,那不如一开始就switch