метод cast< R>
Предоставляет представление этого множества как множества экземпляров R.
Если это множество содержит только экземпляры R, все операции чтения будут работать корректно. Если какая-либо операция попытается получить доступ к элементу, который не является экземпляром R, при обращении будет выброшено исключение.
Элементы, добавляемые в множество (например, с помощью add или addAll), должны быть экземплярами R, чтобы быть допустимыми аргументами добавляющей функции, и также должны быть экземплярами E, чтобы это множество приняло их.
Методы, принимающие один или несколько аргументов типа Object?, например contains, remove и removeAll, передают аргумент непосредственно методу этого множества без каких-либо проверок. Это означает, что вы можете успешно выполнить setOfStrings.cast<int>().remove("a"), даже если кажется, что это не должно ни на что повлиять.
Реализация
Set<R> cast<R>() => Set.castFrom<E, R>(this);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-collection/SetMixin/cast.html