Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 参数类型';UserRepository/*1*/';can';不能分配给参数类型';UserRepository/*2*/';_Firebase_Flutter_Dart_Firebase Authentication - Fatal编程技术网

Firebase 参数类型';UserRepository/*1*/';can';不能分配给参数类型';UserRepository/*2*/';

Firebase 参数类型';UserRepository/*1*/';can';不能分配给参数类型';UserRepository/*2*/';,firebase,flutter,dart,firebase-authentication,Firebase,Flutter,Dart,Firebase Authentication,在main.dart中,我得到以下错误: 无法将参数类型“UserRepository/1/”分配给参数类型“UserRepository/2/” 代码如下: void main() { WidgetsFlutterBinding.ensureInitialized(); final UserRepository _userRepository = UserRepository(); BlocSupervisor.delegate = SimpleBlocDelegate();

在main.dart中,我得到以下错误: 无法将参数类型“UserRepository/1/”分配给参数类型“UserRepository/2/”

代码如下:

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  final UserRepository _userRepository = UserRepository();

  BlocSupervisor.delegate = SimpleBlocDelegate();

  runApp(BlocProvider(
  create: (context) => AuthenticationBloc(userRepository: _userRepository)
    ..add(AppStarted()),
  child: Home(userRepository: _userRepository)));
}

类AuthenticationBloc如下所示:

class AuthenticationBloc
extends Bloc<AuthenticationEvent, AuthenticationState> {
  final UserRepository _userRepository;

  AuthenticationBloc({@required UserRepository userRepository})
  : assert(userRepository != null),
    _userRepository = userRepository;

  @override
  AuthenticationState get initialState => Uninitialized();
...
class AuthenticationBloc
扩展集团{
最终用户存储库_UserRepository;
AuthenticationBloc({@required UserRepository UserRepository})
:assert(userRepository!=null),
_userRepository=userRepository;
@凌驾
AuthenticationState get initialState=>Uninitialized();
...

如何解决这个问题?

如果我不得不猜测,我会说您有两个名为UserRepository的类。UserRepository是抽象类还是具体类?在BloC示例中,
UserRepository
是一个抽象类,因此您需要创建一个名为
UserRepositoryImpl
的具体类,以便实现其方法。因此,您的代码应该如下所示:
final UserRepository\u UserRepository=UserRepositoryImpl()
我看到我在我的身份验证bloc.dart中导入了userRepository.dart两次……但现在我得到了以下错误:断言失败:第12行第16位:“userRepository!=null”:不正确。这在上面代码的这一部分:断言(userRepository!=null)