Я хочу написать серию методов Extension для упрощения математических операций. Например:
Вместо
Math.Pow(2, 5)
Я бы хотел написать
2.Power(5)
что (на мой взгляд) яснее.
Проблема в том, как мне обращаться с различными числовыми типами при написании методов расширения? Нужно ли мне писать метод расширения для каждого типа:
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);
}
Или есть способ, позволяющий одному методу расширения работать для любого числового типа?
Спасибо!