【发布时间】:2012-04-01 15:26:52
【问题描述】:
在下面的示例中,如何在运行 DoLast() 之前先完成 FinishFirst(),同时仍保留“public void StartPage()”签名?
我试图避免让“StartPage()”返回一个 IEnumerator,因为这会迫使我在界面中更改它。如果我的 StartPage() 接口同时支持 IEnumerator 和 Void 而无需同时实现,那就太好了。
public void StartPage()
{
print("in StartPage()");
StartCoroutine(FinishFirst(5.0f));
DoLast();
print("done");
}
IEnumerator FinishFirst(float waitTime)
{
print("in FinishFirst");
yield return WaitForSeconds(waitTime);
print("leave FinishFirst");
}
void DoLast()
{
print("do after everything is finished");
}
【问题讨论】:
-
我不相信默认情况下允许 System.Threading.Tasks,并且在尝试使用 BeginInvoke Unity 时似乎找不到 IAsyncResult 的定义...
-
请不要在标题前加上“C# / Unity :”等。这就是标签的用途。