Partager via


Avertissement du compilateur (niveau 1) CS1690

Mise à jour : novembre 2007

Message d'erreur

L'accès à un membre sur 'membre' peut provoquer une exception runtime, car il s'agit d'un champ d'une classe marshalée-par-référence
Accessing a member on 'member' may cause a runtime exception because it is a field of a marshal-by-reference class

Cette erreur se produit lorsque vous essayez d'appeler une méthode, une propriété ou un indexeur sur le membre d'une classe qui dérive de MarshalByRefObject et que le membre est un type valeur. Pour résoudre l'avertissement, copiez le membre dans une variable locale et appelez la méthode cette variable.

L'exemple suivant génère l'erreur 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;
   }
}