如何解决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 举报,一经查实,本站将立刻删除。