我有一個靜態字段一類這樣的爲什麼此對象爲null?
public class MyClass
{
public static Guid MyField1 { get; set; }
}
然後,我有一個這樣的方法。
public void MyMethod()
{
MyClass.MyField1 = Guid.NewID();
Task.Factory.StartNew(() => { MyAnotherMethod(MyClass.MyField1);}) ;
}
問題是,當我打調用MyAnotherMethod(),我得到一個異常「MyClass.MyField1」投擲型「System.NullReferenceException」的一個例外。但是,如果我用下面的Task.Factory.StartNew調用,它工作正常。
ThreadPool.QueueUserWorkItem(MyAnotherMethod, MyClass.MyField1);
任何想法?
MyClass.MyField1不能是'null' - 'int'值類型。你的意思是'0'(零)? – dtb
它不是。 'int'不能是'NULL'(或者'null',因爲它在C#中)。你如何斷定它是'空'? – larsmoa
爲什麼多線程標籤? –