Esiste una soluzione alternativa per aggiornare un parametro ref all'interno di un metodo anonimo?Parametro di aggiornamento aggiornamento nel metodo anonimo
So che il metodo anonimo non consente l'accesso ai parametri ref dello scope esterno, ma esiste un altro modo per farlo? Sto usando una libreria esterna per la MessageStream quindi non può modificare gli argomenti del delegato ...
void DoWork(ref int count)
{
MessageStream Stream = new MessageStream();
Stream.MessageReceived += (o, args) =>
{
//Error cannot use ref or out parameter inside anonymous method
count++;
};
}
La risposta dipende dal fatto che si possa essere sicuri che 'Stream.MessageReceived' sarà sollevato prima che' DoWork' ritorni. Puoi esserne sicuro? – hvd
conosci il contesto non sicuro? Se no, pubblico una risposta con questa soluzione – faby
@faby, penso di sapere a cosa stai pensando, e se ho ragione, non funzionerà. * Di solito * funzionerà, ma a volte fallirà, e non c'è modo di aggiustarlo in modo che funzioni sempre. – hvd