Expando<T extends Object>final

扩展类允许向对象添加新的属性。

不适用于数字、字符串、布尔值、记录、nulldart:ffi 指针、dart:ffi 结构或 dart:ffi 联合。

当一个对象变得不可访问后,Expando 不保留添加的属性值。

由于您始终可以创建与现有数字完全相同的新数字,这意味着数字上的扩展属性永远不会被释放。为了避免这种情况,无法将扩展属性添加到数字。对字符串、布尔值和 null 也适用,因为它们在多次出现时评估为相同的值。此外,由于记录没有明确定义的持久身份,因此无法添加扩展属性到记录。

对其他类没有限制,即使是对编译时常量对象也是如此。如果您向编译时常量添加扩展属性,请小心,因为它们将永远存在。

构造函数

Expando([String? name])
创建一个新的< Spainiclass>/a>。可选的名称仅用于调试目的,并且将为具有相同名称的两个不同的 扩展类 创建两个不同的 扩展类,使它们分别作用于具有相同名称的对象的不同属性。

属性

hashCode int
此对象的哈希值。
无设置器继承
name String?
向构造函数传递的此 扩展类 的名称。
final
runtimeType Type
对象的运行时类型的表示。
无设置器继承

方法

noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时调用。
继承
toString() String
扩展类 toString 方法重写。
覆盖

运算符

operator ==(Object other) bool
等价运算符。
继承
operator [](Object object) → T?
获取此 扩展类 的属性在给定对象上的值。
operator []=(Object object, T? value) → void
将此 扩展类 的属性值设置为给定对象的 value