Avviso del compilatore (livello 1) CS1690

Aggiornamento: novembre 2007

Messaggio di errore

L'accesso a un membro di 'membro' potrebbe causare un'eccezione in fase di esecuzione perché è un campo di una classe con marshaling per riferimento.
Accessing a member on 'member' may cause a runtime exception because it is a field of a marshal-by-reference class

Questo avviso viene visualizzato quando si tenta di chiamare un metodo, una proprietà o un indicizzatore su un membro di una classe derivante da MarshalByRefObject e tale membro è un tipo di valore. Per risolvere il problema, copiare il membro in una variabile locale e chiamare il metodo su tale variabile.

Il seguente codice di esempio genera l'errore CS1690:

// CS1690.cs
using System;

class WarningCS1690: MarshalByRefObject
{
   int i = 5;

   public static void Main() 
   {
     WarningCS1690 e = new WarningCS1690();
     e.i.ToString();   // CS1690

     // OK
     int i = e.i;
     i.ToString();
     e.i = i;
   }
}