假设我有一个名为//app.js
window.Vue = require('vue');
Vue.component("question", require("./components/Question.vue").default);
new Vue({
el:"#app",
data:{
parent:'parent data'
}
});
的类,它具有以下设计:
Foo
我想创建一个包含不同public class Foo
{
public async Task StartAsync()
{
await some method..
}
}
的数组,所以我声明了以下数组:
Task<Foo>
然后我通过以下方式分配了用于创建Task<Foo>[] tasks = new Task<Foo>[10];
的数组索引:
Task<Foo>
现在,我想访问 tasks[1] = new Task<Foo>();
方法,但是当我写以下内容时:
StartAsync()
我只有tasks[1].
方法,这是启动任务的默认方法。我该如何访问Start()
类方法?
答案 0 :(得分:1)
我认为您需要Foo
而不是Task<Foo>
的数组
Foo[] foos = new Foo[10];
然后您可以执行以下操作:
foos[1] = new Foo();
await foos[1].StartAsync();
答案 1 :(得分:-1)
您的task [1]对象实际上是非Foo的一种Task,要访问Foo,您需要等待它或使用Task的result属性。
var foo = await tasks[1];
foo.StartAsync()
//Or
tasks[1].Result.StartAsync() //be careful with deadlock when you using Result.