gpt4 book ai didi

c# - 如何将对象转换为 Type?

转载 作者:行者123 更新时间:2023-12-03 03:10:33 26 4
gpt4 key购买 nike

我想将对象转换为System.Type对象定义的类型。我只知道对象类型作为输入,我无法添加类型参数

void Test()
{
object obj = 3;
Type type = typeof(int);

int number = Cast(obj, type);

Console.WriteLine($"{number}, {number.GetType()}"); // Should output "3, System.Int32"
}

// I can't change the inputs
??? Cast(object obj, Type type)
{
// return the obj casted to type, but how?
}

我想有一种方法可以使用反射来解决它,但我找不到这样的东西。

最佳答案

无需将 Cast 方法更改为模板即可完成此操作。它需要返回动态类型。要进行转换,您应该使用方法 Convert.ChangeType

//I can't change the inputs
dynamic Cast(object obj, Type type)
{
// return the obj casted to type, but how?
return Convert.ChangeType(obj, type);
}

关于c# - 如何将对象转换为 Type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62110073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com