微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xamarin IEnumerator函数永远不会运行

如何解决xamarin IEnumerator函数永远不会运行

我是c#的新手,正在构建一个android / iOS应用。 我在活动OnCreate()调用一个IEnumerator函数。 但是它永远不会被调用执行。

        private ICoroutine _startCoroutine;
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_main);
            this._startCoroutine = CoroutineManager.Default.StartCoroutine(this.Start2());this
        }
        private IEnumerator Start2()
        {
           // things to do
        }

我在start()内设置了一个断点,但从未触发过。 我有什么问题?


CoroutineManager

    public sealed class CoroutineManager
    {
        public static CoroutineManager Default
        {
            get
            {
                return Coroutine;
            }
        }
        public void StartCoroutine(IEnumerator routine)
        {
            if (routine == null)
            {
                throw new ArgumentNullException("routine");
            }
            StartCoroutine(routine);
        }
    }

解决方法

只需创建一个示例即可使用

public class MainActivity : AppCompatActivity
{
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        Xamarin.Essentials.Platform.Init(this,savedInstanceState);
        SetContentView(Resource.Layout.activity_main);

        CoroutineManager manager = new CoroutineManager();
        manager.StartCoroutine(this.Start2());
    }


    private IEnumerator Start2()
    {
        Console.WriteLine("Start2");
        ArrayList arr = new ArrayList();
        return arr.GetEnumerator();
    }
}

public class CoroutineManager
{
    public CoroutineManager()
    {

    }

    public void StartCoroutine(IEnumerator routine)
    {
        if (routine == null)
        {
            throw new ArgumentNullException("routine");
        }
        //StartCoroutine(routine);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。