public class Calculate
{
public static T Add<T>(T a, T b) where T : struct
{
return (T)((object)(Convert.ToDouble(a) + Convert.ToDouble(b)));
}
}
run Calculate.Add(10, 20) will get error,why?
public class Calculate
{
public static T Add<T>(T a, T b) where T : struct
{
return (T)((object)(Convert.ToDouble(a) + Convert.ToDouble(b)));
}
}
run Calculate.Add(10, 20) will get error,why?
Use this.
return (T)Convert.ChangeType(Convert.ToDouble(a) + Convert.ToDouble(b), typeof(T));
It will convert your result to type "T".