我可以向下转换 class 迫使它失去原来的 constructor/s 吗?
Can I down-cast a class forcing it to lose the original constructor/s?
- 运行下面的代码在dartpad
class Foo {
const Foo(this.message);
final String message;
}
class Bar extends Foo {
const Bar(String message, this.another,) : super(message);
final String another;
}
void main() {
const Foo _foo = Bar('hello','world');
const Bar _bar = _foo;
print(_bar.another);
}
在撰写本文时,使用 darpad Based on Flutter 1.22.0-12.1.pre Dart SDK 2.9.3
输出是world
这是我们遇到每个 Widget
、
的典型行为
但是有没有办法强制对象失去“额外”构造函数
不重铸整个对象?
如果没有人调用它,它将因 treeshaking 而消失。
- 运行下面的代码在dartpad
class Foo {
const Foo(this.message);
final String message;
}
class Bar extends Foo {
const Bar(String message, this.another,) : super(message);
final String another;
}
void main() {
const Foo _foo = Bar('hello','world');
const Bar _bar = _foo;
print(_bar.another);
}
在撰写本文时,使用 darpad
Based on Flutter 1.22.0-12.1.pre Dart SDK 2.9.3
输出是
world
这是我们遇到每个 Widget
、
但是有没有办法强制对象失去“额外”构造函数
不重铸整个对象?
如果没有人调用它,它将因 treeshaking 而消失。