gpt4 book ai didi

c# - 是否可以将 Type 更改为给定类型?

转载 作者:行者123 更新时间:2023-11-30 19:39:23 27 4
gpt4 key购买 nike

当我有一个盒装值时,例如:

object input = 31.33M;

我可以用这个方法把它转换成可转换类型:

public static T ToType<T>( object value)
{
return (T) Convert.ChangeType(value,typeof (T));
}

所以两者都是:

Console.WriteLine (ToType<double>(input));
Console.WriteLine (ToType<decimal>(input));

会回来

31.33 //as double
31.33 //as decimal

(让我们撇开精度问题)

好的。

但现在我面临(我正在使用公开方法描述符及其参数类型的 WebAPI)我有一个给定类型的情况。

所以现在我有:

Type SomeoneSaysMyTypeIs=typeof(decimal)

但现在我不能使用泛型类型参数。

问题

如何增强我的方法以用于:(伪代码)

ToType(SomeoneSaysMyTypeIs,input); //return type :decimal  , not object

我找到了解决方案,但有很多if's...

最佳答案

可能是我没有正确理解你的问题(如果我理解了请告诉我),但是介绍另一种方法怎么样:

public static object ToType(object value, Type t)
{
return Convert.ChangeType(value, t);
}

如您所见,这与调用 Convert.ChangeType 相同直接:

Convert.ChangeType(value, t);

关于c# - 是否可以将 Type 更改为给定类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27780558/

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