简单的问题,我不认为这是可能的,但之前已经感到惊讶。有没有办法调用静态函数而不必提及类型?
我有所有类型的数学函数库,让我们一个很简单的例子floorcap:
class MathLib {
public static double floorcap(double floor, double value, double cap) {
return Math.Min(Math.Max(floor, value), cap);
}
}
在另一个类的另一种方法,我想只要键入
var mat_adjusted = floorcap(1, maturity, 5);
但这不起作用,因为它没有在这个类中声明,它在一个库中。它使我类型
var mat_adjusted = MathLib.floorcap(1, maturity, 5);
这会增加噪声代码。我可以缩短到
using m = MyMathLibrary.MathLib;
.. yadayada
var mat_adjusted = m.floorcap(1, maturity, 5);
但仍然,我宁愿不必一直键入类名称。那可能吗?我也在F#中编写代码,并且您习惯于在一段时间后不必拼出类型/模块等。当我必须编写C#时,这件事让我感到困扰(一点点),因为它分散了事物的“肉”。
这里有很多功能,当你需要调用一些函数嵌套等所有这些点和类名称加起来。我喜欢我的代码尽可能干净。
由于提前,
格特 - 扬
是的,使用同一个类中的方法。 :) – ChaosPandion
我不知道为什么你有点符号的问题 - 'MathLib.FloorCap(1,2,3)'看起来很干净,只有几个字符。 –
有效地考虑了扩展方法和'本地包装',忘记了在示例中的注意事项。包装会增加很多开销,扩展方法也会混淆代码。关键是代码应该尽可能地看起来像非程序员会写下来的那样。 – gjvdkamp