Dart 如何从构造函数初始化器列表中的常量构造函数访问属性?

Dart 如何从构造函数初始化器列表中的常量构造函数访问属性?,dart,constructor,initialization,constants,Dart,Constructor,Initialization,Constants,我很难理解常量构造函数和构造函数初始值设定项如何在dart中列出 我有一个小代码: A类{ 常数A(); } B类{ 常数B(); 最终A=常数A(); } C类{ 常数C():a=常数a(); 期末考试A; } D类{ 常数D():b=常数b(); 期末考试B; } E类{ 常数E():a=常数B().a;// 这让我有点困惑,为什么B()可以是一个常量而不是B()。a不是吗?我想如果一个对象是一个常量构造函数,B()。a也应该是一个常量 DART没有等同于 CONTXPRPR ,如C++。

我很难理解常量构造函数和构造函数初始值设定项如何在dart中列出

我有一个小代码:

A类{
常数A();
}
B类{
常数B();
最终A=常数A();
}
C类{
常数C():a=常数a();
期末考试A;
}
D类{
常数D():b=常数b();
期末考试B;
}
E类{
常数E():a=常数B().a;//
这让我有点困惑,为什么
B()
可以是一个常量而不是
B()。a
不是吗?我想如果一个对象是一个常量构造函数,
B()。a
也应该是一个常量

DART没有等同于 CONTXPRPR <代码>,如C++。Dart无法传递那些方法/函数可以被计算和调用为编译时常量表达式。< /P>

B().a
B()
上调用名为
a
的getter。仅仅因为
const B()
const
对象并不意味着
const B().a
返回常量值。例如,
B
的实现可以是:

B类{
常数B();
//每次返回一个新的'a'实例。
A get A=>A();
}

谢谢!有没有办法指定此getter是最终的常量值?或者我无能为力?正如我所说,Dart目前无法传达这一点,所以您无能为力。