I want to write a number of extension methods to simplify mathematical operations. For example:
Instead
Math.Pow(2, 5)
I would like to write
2.Power(5)
which (in my opinion) is clear.
The problem is this: how do I handle different numeric types when writing extension methods? I need to write an extension method for each type:
public static double Power(this double number, double power) {
return Math.Pow(number, power);
}
public static double Power(this int number, double power) {
return Math.Pow(number, power);
}
public static double Power(this float number, double power) {
return Math.Pow(number, power);
}
Or is there a trick that allows one extension method to work for any number type?
Thanks!
source
share