Ho un problema con un errore che viene segnalato quando tento di assegnare un valore ad una variabile globale all'interno di un metodo.

L'applicazione è client/server, nel lato client ho creato una classe denominata "Globale" in cui ho dichiarato le variabili che dovranno essere visibili in tutto il programma.

La mia applicazione ha la particolarità che è il server a connettersi al client, quindi ho dichiarato la variabile "client" come TCPListener:

codice:
TcpListener client=new TcpListener(IPAddress.Any, porta);
Però per poter far si che la comunicazione sia bidirezionale ho dichiarato anche la variabile "server" (sempre nel lato client) all'interno della classe "Globale":

codice:
public static TcpClient server = new TcpClient();
Il problema consiste nel fatto che quando effettuo questa assegnazione:

codice:
Globale.server = client.AcceptTcpClient();
Viene sollevata una eccezione che dice: Riferimento ad un oggetto non impostato su una istanza di oggetto.

Se io dichiaro la variabile "server" come non globale quindi:

codice:
TcpClient server = client.AcceptTcpClient();
Non vengono segnalati errori, ma ho la necessità di far si che "server" sia visibile anche in altri Form ecc...

Consigli?