2016-05-17 22 views
0

Wie SetData zu neu erstellten AppDomain. Wenn ich DoCallBack zu meinem TestFunc erhalte ich "System.NullReferenceException" Ausnahme. Was ich falsch mache?So legen Sie Daten auf neue Appdomain fest

Einstellung vars globaly für AppDomain ändern nicht anathing, gleichen Fehler.

AppDomain.CurrentDomain.SetData("client", client); 
AppDomain.CurrentDomain.SetData("engine", engine); 

P.S. Ich erhalte System.NullReferenceException, weil AppDomain nicht finden kann, dass ich vor DoCallBack eingerichtet wurde. Wie kann man sie richtig einrichten?

+0

Mögliche doppelte pass [Was für eine Nullreferenceexception ist, und wie behebe ich es ?] (http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-fix-it) – Nasreddine

+0

Nein, das ist nicht. – SLI

+0

Ich habe eine Konsolen-App erstellt, den bereitgestellten Code kopiert und alles funktioniert wie erwartet. – Kzrystof

Antwort

0

Wenn Sie uns den richtigen Code zeigen, können Sie nicht-statische und ohne Instanzmethode auf DoCallBack() setzen.

sollte das Verfahren eine statisch sein:

private static void testFunc() 
{ 
    var client = (string)AppDomain.CurrentDomain.GetData("client"); 
    var engine = (int)AppDomain.CurrentDomain.GetData("engine"); 

    Console.WriteLine("client: " + client); 
    Console.WriteLine("engine: " + engine); 
} 

oder Sie, bevor Sie eine Instanz erstellen müssen in DoCallBack() von

var instance = new Program(); 
appDomain.DoCallBack(instance.testFunc);