2 votes

Pourquoi cet objet est-il nul ?

J'ai une classe avec un champ statique comme ceci

public class MyClass
{
    public static Guid MyField1 { get; set; }
}

J'ai alors une méthode comme celle-ci.

public void MyMethod()
{

   MyClass.MyField1  = Guid.NewID();

   Task.Factory.StartNew( () =>  { MyAnotherMethod(MyClass.MyField1);}) ;
}

Le problème est que lorsque j'appelle MyAnotherMethod(), je reçois une exception indiquant que 'MyClass.MyField1' a généré une exception de type 'System.NullReferenceException'. Cependant, si je remplace l'appel à Task.Factory.StartNew par l'appel ci-dessous, cela fonctionne bien.

ThreadPool.QueueUserWorkItem(MyAnotherMethod, MyClass.MyField1);

Des idées ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X