使用Type对象将Object类型的对象转换为另一种类型

时间:2009-02-24 08:10:07

标签: c# .net casting

拥有这样的对象:

object integerObject=1;

这样的对象:

Type integerType=typeof(Int32);

如何将 integerType 对象用于将 integerObject 转换为 Int32 的类型

2 个答案:

答案 0 :(得分:5)

integerObject引用的对象的类型已经是Int32,虽然是盒装版本。

我怀疑你有第三行代码,你没有向我们展示过,这是你想要实际使用你希望我们帮助你的操作结果的地方。不幸的是,没有第三行,就很难知道如何提供帮助。

答案可能涉及泛型。 可能就像打电话给Convert.ChangeType一样简单 - 但是如果不了解更大的图片,我们就不能说我害怕了。

答案 1 :(得分:3)

int result = (int)Convert.ChangeType(integerObject, integerType);

当然,在这种情况下它是一个很大程度上无用的练习,但是如果你的“integerObject”被定义得不同(也许是一个字符串),那么这是我猜测的有效方法。

您可能也对此问题感兴趣:Cast with GetType()