[英]Is it possible to change Type to a given type?
當我有一個盒裝值,如:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.