如何将提供者类名作为参数传递?
how to pass provider classname as an argument?
我想将提供程序类名作为参数传递,但它一直给我错误名称 'providerClassName' 不是类型,因此不能用作类型参数。
我正在尝试这个
Widget buildText<T>({@required T providerClassName}) {
return Text(
Provider.of<providerClassName>(context, listen: false).username);
}
我正在调用这样的函数
buildText(providerClassName: HomeScreenProvider);
你几乎答对了。
您拥有方法
的泛型类型 T
buildText<T extends HomeScreenProvider>
因此您可以像 Provider.of<T>(context, listen: false).username
一样使用它并调用它
buildText<HomeScreenProvider>();
我想将提供程序类名作为参数传递,但它一直给我错误名称 'providerClassName' 不是类型,因此不能用作类型参数。
我正在尝试这个
Widget buildText<T>({@required T providerClassName}) {
return Text(
Provider.of<providerClassName>(context, listen: false).username);
}
我正在调用这样的函数
buildText(providerClassName: HomeScreenProvider);
你几乎答对了。 您拥有方法
的泛型类型T
buildText<T extends HomeScreenProvider>
因此您可以像 Provider.of<T>(context, listen: false).username
一样使用它并调用它
buildText<HomeScreenProvider>();