想象这样一个愚蠢的课堂:
class ConditionalWorker{
var validityChecker= (inputs)=>true;
ConditionalWorker(this.validityChecker)
...
现在我的问题是,声明validityChecker字段的正确方法是什么?
本教程建议使用typedefs
。但这不是很实际。首先,编写很多只能使用一次的typedef是一件很麻烦的事情。其次,这些typedef会显示并污染我的IDE的自动补全功能。
的var
效果最好,使用自定义setter方法/构造函数的参数,以保持它总是一个特定种类的,但我知道这是气馁的风格指南。
我可以做,Function<bool>
但是只是光荣的var而工作量是相同的。
很遗憾,因为拥有这样的功能完全合法:
bool every(bool test(E element));
其中参数是一个定义良好的函数,但我无法以相同的方式声明字段:
bool test(E element);
但是希望有些事情我没弄清楚。对吗?
如果Function<bool>
不够明确(您还想指定参数的数量和类型,则必须使用typedef。没有其他方法。
我不确定您为什么认为这不切实际。如果要为引用值的字段指定类型,则必须使用现有类之一或创建一个新类。字段引用函数相同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句