Класс Expando< T extends Object>
Expando позволяет добавлять новые свойства объектам.
Не работает с числами, строками, логическими значениями, записями, null, указателями dart:ffi, структурами dart:ffi или объединениями dart:ffi.
Expando не сохраняет добавленное значение свойства после того, как объект становится недоступным.
Поскольку всегда можно создать новое число, идентичное существующему, свойство expando у числа никогда не могло бы быть освобождено. Чтобы избежать этого, к числам нельзя добавлять свойства expando. То же рассуждение применимо к строкам, логическим значениям и null, для которых также существуют литералы, вычисляемые в одинаковые значения при каждом повторении. Кроме того, к записям нельзя добавлять свойства expando, поскольку у записей нет чётко определённой постоянной идентичности.
Для остальных классов ограничений нет, даже для объектов, являющихся константами времени компиляции. Будьте осторожны, добавляя свойства expando к константам времени компиляции, поскольку они останутся в памяти навсегда.
Конструкторы
- Expando([String? name])
- Создаёт новый Expando. Необязательное имя используется только для отладки. Создание двух разных Expando с одинаковым именем приводит к созданию двух Expando, работающих с разными свойствами объектов, для которых они используются.
Свойства
- hashCode → int только для чтенияунаследовано
- Хеш-код этого объекта.
- name → String? окончательное
- Имя этого Expando, переданное конструктору.
- runtimeType → Type только для чтенияунаследовано
- Представление типа объекта во время выполнения.
Методы
- noSuchMethod(
Invocation invocation) → dynamic унаследовано - Вызывается при обращении к несуществующему методу или свойству.
- toString(
) → String переопределение - Переопределение метода toString класса Expando.
Операторы
- operator ==(
Object other) → bool унаследовано - Оператор равенства.
- operator [](
Object object) → T? - Возвращает значение свойства этого Expando для указанного объекта.
- operator []=(
Object object, T? value) → void - Устанавливает значение свойства этого Expando для указанного объекта в
value.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/Expando-class.html