castFrom< S, T> метод
Приспосабливает source к Set<T>.
Если newSet предоставлено, оно используется для создания новых множеств, возвращаемых методами toSet, union, а также для intersection и difference. Если newSet опущено, по умолчанию создается новое множество с помощью конструктора по умолчанию Set, и intersection и difference возвращают адаптированную версию вызова того же метода на источнике.
В любой момент, когда множество должно было бы произвести элемент, который не является T, доступ к элементу приведет к ошибке.
В любой момент, когда попытаются добавить значение T, хранилище выдаст ошибку, если значение не является также экземпляром S.
Если все элементы, доступные из source, являются экземплярами T, и если все элементы, добавляемые в возвращаемое множество, являются экземплярами S, то возвращаемое множество может использоваться как Set<T>.
Методы, принимающие один или несколько Object? в качестве аргумента, такие как contains, remove и removeAll, передадут аргумент напрямую методу этого множества без каких-либо проверок.
Реализация
static Set<T> castFrom<S, T>(Set<S> source, {Set<R> Function<R>()? newSet}) =>
CastSet<S, T>(source, newSet);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/Set/castFrom.html