aviso do compilador CS1690 (nível 1)

Mensagem de erro

Acesso a um membro em 'membro' pode gerar uma exceção em tempo de execução porque se trata de um campo de uma classe de realizar marshaling por referência

Este aviso ocorre quando você tenta telefonar um método, propriedade ou indexador em um membro de uma classe que deriva de MarshalByRefObject, e o membro é um tipo de valor. Para resolver o problema do aviso, copie o membro em uma variável local e chamar o método dessa variável.

O exemplo a seguir gera 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;
   }
}