setter属性中的新线程

时间:2015-04-17 10:57:07

标签: c# multithreading xamarin setter

如果我尝试这个,我得到一个未定义的空指针异常。 (删除线程代码解决了它)。是不是可以从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的截图: Xamarin Mac

Trace

我尝试在try / catch中创建线程,但它仍然会在RunOnNewThread.Start()上抛出空指针。

try catch

然而,必须有其他事情发生。因为它只运行了2次,第3次我又得到了空指针。有什么想法吗?

0 个答案:

没有答案