首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >'_InternalLinkedHashMap<dynamic,dynamic>‘不是类型类型Map<String,dynamic>的子类型

'_InternalLinkedHashMap<dynamic,dynamic>‘不是类型类型Map<String,dynamic>的子类型
EN

Stack Overflow用户
提问于 2020-12-25 02:54:40
回答 3查看 697关注 0票数 1

我有一个通用的功能:

代码语言:javascript
运行
复制
  ValueType get<ValueType>(String keyToRead) {
    try {
      return _dataClient.get(keyToRead) as ValueType;
    } on SocketException catch (error) {...

我这样叫它:

代码语言:javascript
运行
复制
  @override
  Map<String, dynamic> getUserRegistration() {
    return dataClient.get<Map<String, dynamic>>(UserRegistrationFieldKeys.self);
  }

但是,由于我从_dataClient的_dataClient框变成了蜂巢框,所以我得到了以下错误:

代码语言:javascript
运行
复制
The following ProviderException was thrown building LoggedOutPageView(dirty, dependencies: [UncontrolledProviderScope], state: _ConsumerState#6c90b):
An exception was thrown while building AutoDisposeProvider<RegisterViewModel>#00006().

Thrown exception:
type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>' in type cast

Stack trace:
#0      LocalDataClient.get
package:vepo/…/data_clients/local_data_client.dart:51
#1      UserRegistrationLocalDataSource.getUserRegistration
package:vepo/…/user_registration/user_registration_local_data_source.dart:22
#2      UserRegistrationRepository.getUserRegistration
package:vepo/…/user-registration/user_registration_repository.dart:31

由于加密,Hive必须将数据存储为不同的格式,但我如何解释这一点并消除此错误呢?

EN

Stack Overflow用户

回答已采纳

发布于 2020-12-25 05:21:13

试着使用

代码语言:javascript
运行
复制
Map<String, dynamic>.from(dataClient.get(UserRegistrationFieldKeys.self))`;

如果使用此方法,也可以删除泛型函数。

票数 3
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65444862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档