class
およびconst
は、構造化定数を定義する良い方法です。今私は1つから拡張しようとすると、大丈夫です。継承されたクラスの定数を使用しようとすると、それでも動作しますが、const
の代わりにfinal
で処理できます。私のプロジェクトで大したことはありませんが、それは可能でしょうかconst
?constコンストラクタからの拡張方法
class A {
final String name;
final int value;
const A(final String this.name, final this.value);
static const A ONE = const A('One', 1);
}
class B extends A {
const B(final String name, final int val) : super(name, val);
static const B B_ONE = const B('One', 1);//Ok
static const A A_ONE = A.ONE;//Ok
static final B BA_ONE = new B(A.ONE.name, A.ONE.value);//Ok
static const B BA_ONE_CONST = const B(A.ONE);//No B constructor!?!
}
よろしくお願いいたします。私のプロジェクトでは 'final'の代わりに' const'を使うことが重要です。また、プロパティ抽出でそれを試してみましたが、 'const'構築にはうまくいきません。 'A.ONE.name'は' const'として解釈されません。 –