【发布时间】:2016-03-20 14:11:20
【问题描述】:
假设我有:
string ValueToCastTo;
object TheThing;
如果ValueToCastTo 设置为"int",我希望将TheThing 转换为int。
如果ValueToCastTo 设置为"DateTime",我希望将TheThing 转换为DateTime。
我不能使用if 语句,因为字符串可以设置为任何值。
谢谢。
【问题讨论】:
-
这听起来是个非常糟糕的主意。你想解决什么问题?
-
请记住,您实际上无法将对象投射到您想要的任何东西上。 “对象”是基本级别的抽象。您只能将 TheThing 转换为该对象实际是什么、该对象实际是什么的父对象之一(包括“对象”)或它实现的接口。
-
我需要将
ValueToCastTo的值转换为一个类型,以便我可以使用它来转换Object -
@MutantNinjaCodeMonkey 我不能将空对象转换为其他对象,然后使用反射设置属性?
-
如果您要使用反射,为什么不创建您需要的特定类型的对象?