首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dart如何将泛型函数传递给isolate

Dart如何将泛型函数传递给isolate
EN

Stack Overflow用户
提问于 2020-12-23 04:12:24
回答 2查看 165关注 0票数 3

有没有一种方法可以将泛型函数作为参数传递给生成时的Isolate?我附上了我的代码的一个简化版本(不工作),但是有没有一种方法可以在没有动态的情况下对其进行归档?或者functionToCall的类型是在运行时决定的,而不是在编译时决定的,所以不可能决定隔离?

代码语言:javascript
复制
import 'dart:isolate';

class TestClass {
  // ...
}

void main(List<String> args) {
  ReceivePort receivePort = ReceivePort();

  Isolate.spawn(functionToCall<TestClass>, receivePort.sendPort);
}

void functionToCall<T>(SendPort sendPort) {
  // ...
}
EN

回答 2

Stack Overflow用户

发布于 2020-12-23 04:25:31

有关泛型类型的所有内容都被认为是编译的一部分,并被“具体化”,以便在运行时对相同的信息进行双重检查。

票数 0
EN

Stack Overflow用户

发布于 2021-02-02 11:30:53

我认为这里的问题可能不是因为隔离,而是我不知道在Dart中有任何方法可以创建对泛型函数的函数引用。

例如,你当然可以调用你的泛型函数:

代码语言:javascript
复制
functionToCall<TestClass>(myPort);

但我不明白如何为特定类型(TestClass)创建函数引用,并且它是您需要传递给派生方法的函数引用,所以我认为这就是您在Dart中遇到的限制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65415217

复制
相关文章

相似问题

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