[英]Casting using System.Type - c#
是否可以使用System.Type?
将对象System.Type?
转换为所需类型System.Type?
作为参考?
我有一个搜索,普遍的共识是否定的,虽然我希望在C#4.0中引入一些可以帮助我的辅助工具。
即下面的内容不起作用,但伪代码就是我想要的。
object o = null;
var t = typeof(string);
...
string foo = (t)o;
编辑:我需要使用XmlSerializer
重建/反序列化为存储在t
的类型
看一下:
var foo = Convert.ChangeType(o, typeof(string))
这没有意义。
铸造根本不会改变对象; 它只是让你在编译时使用对象作为给定的类型。
如果您不知道在编译时将其转换为什么类型,则转换是无用的,因为它不会让您对转换表达式执行任何操作。
不需要施放。 对象不会改变,“铸造”时您的引用类型(变量)会发生变化。
我想你正在寻找类似System.ChangeType()的东西。 如果类型实现了IConvertible ,并且它可以转换为所需类型(当然这不是强制转换) ,则此方法有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.