Я посмотрел на документы дартс для дженериков.
abstract class StringCache {
String getByKey(String key);
void setByKey(String key, String value);
}
abstract class ObjectCache {
Object getByKey(String key);
void setByKey(String key, Object value);
}
Вышеуказанные два заменены одним единственным универсальным типом T с кодом ниже
abstract class Cache<T> {
T getByKey(String key);
void setByKey(String key, T value);
}
Там, где ясно видно использование T
.но не уверен, где класс состояния использует
class _CounterState extends State<Counter> {
int _counter = 0;
void _increment() {
setState(() {
_counter++;
});
}
@override
Widget build(BuildContext context) {
return Row(
children: <Widget>[
RaisedButton(
onPressed: _increment,
child: Text('Increment'),
),
Text('Count: $_counter'),
],
);
}
}