为什么RunThis()什么都不做?

时间:2012-07-23 04:33:05

标签: c# ienumerator

我正在Unity3d中开发一个项目,我正在编写一些代码,最初我将IEnumerator作为Start而不是RunThis,代码运行正常,现在我将其移入新方法并且它没有做任何事情。有人可以解释一下吗?

using UnityEngine;
using System.Collections;

public class UniDLC : MonoBehaviour
{
    void Start() {
        RunThis();
    }
    IEnumerator RunThis()
    {
        Debug.Log("ran");
        string url = "file://C:\\Users\\tom\\Documents\\test.txt";
        WWW www = new WWW(url);
        yield return www;
        Debug.Log(www.text);
    }
}

P.S。我期待至少有人告诉我有关unityanswers的信息,是的,我知道它存在,但网站漏洞太多,我相信有人会听到这个回答,谢谢。

1 个答案:

答案 0 :(得分:4)

如果您不尝试实际使用RunThis()返回的 IEnumerator ,编译器将不会调用枚举器,因此不会调用您的代码。

由于您只返回一个枚举对象,

RunThis().MoveNext();

应该显示枚举器工作。