我正在移植JSON5到省道,我想保留原来的约定。
原始代码有一个static class JSON5,其中包含两个静态方法。但是dart不允许静态类。
我的飞镖代码:
/// static class, do not instanciate or inherit this
class JSON5 {
static String stringify(dynamic obj) { };
static dynamic parse(String json5String) { };
}有可能阻止用户做两件事吗?
var json5 = JSON5()class DerivedJSON5 extends JSON5 {}发布于 2020-10-25 12:13:10
若要不允许实例化,可以添加一个私有构造函数:JSON5._();
为了防止继承,目前在dart中最好的方法是从@sealed包中添加元数据注释。
https://stackoverflow.com/questions/64522855
复制相似问题