Flutter 颤振鸽包返回一个动态

Flutter 颤振鸽包返回一个动态,flutter,flutter-dependencies,Flutter,Flutter Dependencies,我正在尝试使用新的(推荐的)平台频道方法鸽子我正在尝试获取一个项目列表,但鸽子不允许,目前你必须在另一个类中总结它参见,但是当我这样做的时候,我得到的列表是动态的,而不是我想要的对象的类型。这里是我的配置,为了简洁和隐私lol,首先是我的messages.dart文件 class Key { String displayName; String description; } class Keys { List<VirtualKey> virtualKeys; } 我已

我正在尝试使用新的(推荐的)平台频道方法鸽子我正在尝试获取一个项目列表,但鸽子不允许,目前你必须在另一个类中总结它参见,但是当我这样做的时候,我得到的列表是动态的,而不是我想要的对象的类型。这里是我的配置,为了简洁和隐私lol,首先是我的messages.dart文件

class Key {
  String displayName;
  String description;
}

class Keys {
  List<VirtualKey> virtualKeys;
}
我已经生成了这个

class Keys {
  List keys;
  // ignore: unused_element
  Map<dynamic, dynamic> _toMap() {
    final Map<dynamic, dynamic> pigeonMap = <dynamic, dynamic>{};
    pigeonMap['keys'] = keys;
    return pigeonMap;
  }
  // ignore: unused_element
  static Keys _fromMap(Map<dynamic, dynamic> pigeonMap) {
    final Keys result = Keys();
    result.keys = pigeonMap['keys'];
    return result;
  }
}
类密钥{
列出键;
//忽略:未使用的元素
映射_toMap(){
最终地图鸽子地图={};
鸽子地图['keys']=键;
返回地图;
}
//忽略:未使用的元素
静态键_fromMap(Map鸽子地图){
最终关键点结果=关键点();
result.keys=鸽子地图['keys'];
返回结果;
}
}
方法返回封装在数组列表中的此类(pidgeon问题),再次为出于隐私考虑试图编辑此类时出现的任何错误感到抱歉

    override fun getKeys(): Messages.Keys {
        return Messages.Keys().apply {
            this.keys = arrayListOf(getAllKeys())
        }
    }

    fun getAllKeys(): List<Key> {
        return KeyManager().allKeys
    }
override fun getKeys():Messages.Keys{
返回消息。键()。应用{
this.keys=arrayListOf(getAllKeys())
}
}
趣味getAllKeys():列表{
返回KeyManager().allKeys
}
因此,考虑到所有这些,它应该给我一个Keys对象,其中包含一个Key列表,但是当我尝试使用它时,我得到一个Keys对象,其中包含一个dynamic列表,请参见下图,这是预期的行为还是有办法解决这个问题?非常感谢


这是因为鸽子还不支持泛型

    override fun getKeys(): Messages.Keys {
        return Messages.Keys().apply {
            this.keys = arrayListOf(getAllKeys())
        }
    }

    fun getAllKeys(): List<Key> {
        return KeyManager().allKeys
    }