我正在尝试创建一个通用方法来投射对象,但似乎无法破解这个栗子。 (今天是周五下午 3 点,这是漫长的一周)
好的,所以我有这样的场景:
// We have a value (which .net sets as a double by default)
object obj = 1.0;
// We have the target type as a string, which could be anything:
// say string sometType = "System.Decimal"
Type type = Type.GetType(someType);
// I need a generic way of casting this
object castedObj = (xxx) obj;
如何在不创建无数 if-else 语句的情况下通用地转换该对象?
您可以使用转换.更改类型 http://msdn.microsoft.com/en-us/library/dtb69x08.aspx方法,如果您使用的类型实现I敞篷车 http://msdn.microsoft.com/en-us/library/system.iconvertible.aspx(所有原始类型都是如此)。
Convert.ChangeType(value, targetType);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)