Dart では、実行時にクラスのインスタンスからメンバー変数を追加または削除することはできません。Dart で例を書き直すと、次のようになります。
class doStuff {
bool isDefined;
doStuff() {
isDefined = true;
}
void stuff() {
print('The function stuff was called!');
}
}
main() {
new doStuff().stuff();
}
Dart のクラスにプロパティ バッグを追加する場合は、次のように記述します。
class PropertyObject {
Map<String, Dynamic> properties;
PropertyObject() {
properties = new Map<String, Dynamic>();
}
Dynamic operator[](String K) => properties[K];
void operator[]=(String K, Dynamic V) => properties[K] = V;
}
main() {
PropertyObject bag = new PropertyObject();
bag['foo'] = 'world';
print('Hello ${bag['foo']}');
}
「.」を使用してマップ プロパティにアクセスできないことに注意してください。オペレーター。