Grazie per avermi risposto!Questo è il corpo del metodo associato al delegate.
if(sig.value != 0)
signals[sig.index].signalValue = convertSignalValue(sig.value);
else
signals[sig.index].signalValue = sig.value;
int sp = this.setEvent(signals[sig.index]);
Console.WriteLine("New Value: " + signals[sig.index].ToString());
Prima di memorizzare il valore in signals(array di oggetti sig) controllo se è diverso da 0 perchè in questo caso devo convertirlo in double, utilizzando il mio metodo convertSignalValue (che oltre alla conversione fa anche altri controlli)
Dopo di che richiamo setEvent che contiene uno 'switch' sul valore di sig.value e in alcuni 'case' richiamo dei metodi che fanno alcuni calcoli matematici su questi valori, negli altri memorizzo semplicemente il valore in un'altra variabile.
Come ultima istruzione c'è la stampa del nuovo valore.
Il problema si verifica proprio quando nel 'case' richiamo uno di quei metodi per fare calcoli matematici, sembra quasi che "si perda per strada", perchè non esegue l'ultima istruzione della stampa del valore ma nemmeno la stringa "New value: "