我在NumbericUpDown控件上構建了一個包裝器。 包裝是通用的,可以支持int?和雙?怎麼把Decimal轉換成T?
我想寫一個方法,將執行以下操作。
public partial class NullableNumericUpDown<T> : UserControl where T : struct
{
private NumbericUpDown numericUpDown;
private T? Getvalue()
{
T? value = numericUpDown.Value as T?; // <-- this is null :) thus my question
return value;
}}
當然在小數和雙數之間沒有鑄造?或int?所以我需要使用某種轉換方式。 我想避免切換或如果表達式。
你會怎麼做?
爲了澄清我的問題,我提供了更多的代碼...
你的問題不是很清楚。 GetValue方法是包裝器的一部分嗎?或者是numericUpDown包裝器的一個實例?也許更多的代碼顯示你想要達到的目標將會有所幫助。 – 2008-09-21 11:10:22
上週我問了一個[相關問題](http://stackoverflow.com/questions/63694/creating-a-math-library-using-generics-in-c)。我認爲答案可能對你的情況有效。 – Sklivvz 2008-09-21 11:01:50