扩展类允许向对象添加新的属性。
不适用于数字、字符串、布尔值、记录、null
、dart:ffi
指针、dart:ffi
结构或 dart:ffi
联合。
当一个对象变得不可访问后,Expando
不保留添加的属性值。
由于您始终可以创建与现有数字完全相同的新数字,这意味着数字上的扩展属性永远不会被释放。为了避免这种情况,无法将扩展属性添加到数字。对字符串、布尔值和 null
也适用,因为它们在多次出现时评估为相同的值。此外,由于记录没有明确定义的持久身份,因此无法添加扩展属性到记录。
对其他类没有限制,即使是对编译时常量对象也是如此。如果您向编译时常量添加扩展属性,请小心,因为它们将永远存在。
构造函数
属性
方法
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时调用。继承
-
toString(
) → String - 扩展类 toString 方法重写。覆盖
运算符
-
operator ==(
Object other) → bool - 等价运算符。继承
-
operator [](
Object object) → T? - 获取此 扩展类 的属性在给定对象上的值。
-
operator []=(
Object object, T? value) → void - 将此 扩展类 的属性值设置为给定对象的
value
。