如果我尝试这个,我得到一个未定义的空指针异常。 (删除线程代码解决了它)。是不是可以从setter中生成一个新线程?如果是这样,为什么不呢?我习惯用Java这样做。谢谢
编辑:实际的精简代码:
public string AuthToken {
set {
this.authToken = value;
var RunOnNewThread = new Thread(() =>
{
Console.WriteLine("Test");
} );
RunOnNewThread.Start();
}
get { return this.authToken; }
}
它确实运行了该线程。 注意!这是在Xamarin Android应用中,错误仅在调试模式下发生。发布完美无缺。
线程开始:#2
测试
线程完成:#2
这是Xamarin的截图:
我尝试在try / catch中创建线程,但它仍然会在RunOnNewThread.Start()
上抛出空指针。
然而,必须有其他事情发生。因为它只运行了2次,第3次我又得到了空指针。有什么想法吗?