Dart的Datetime类有许多命名构造函数,但DateTime.parse()
不是其中之一。相反,DateTime.parse()
是一个返回DateTime的静态方法。对我来说,它作为构造函数是有意义的(因为您以与Datetime.utc()
构造函数没有太大区别的方式生成新的DateTime对象)。
我提出的理论是反映int.parse
不是构造函数或允许更容易链接的事实(您不需要使用静态方法使用级联运算符) 。但也许还有另一个原因,我没有想到。有谁知道为什么他们没有使它成为命名构造函数?
答案 0 :(得分:5)
对于Uri.parse的相同更改的更多解释:http://permalink.gmane.org/gmane.comp.lang.dart.general/17081
“解析”很特别。问题是:你看到解析为 做某事并最终给你结果的操作,或者做 您将字符串视为构造新元素的数据。如果你看到它 如前所述,那么“解析”应该是一个静态函数。如果你看到 字符串作为数据,那么它应该是一个命名的构造函数。
然后,当然,存在一致性。