Sdílet prostřednictvím


Compilerwarnung (Stufe 1) CS1690

Aktualisiert: November 2007

Fehlermeldung

Der Zugriff auf einen Member auf "member" kann eine Laufzeitausnahme verursachen, da er ein Feld einer Marshal-by-Reference-Klasse ist
Accessing a member on 'member' may cause a runtime exception because it is a field of a marshal-by-reference class

Diese Warnung wird angezeigt, wenn Sie versuchen, eine Methode, eine Eigenschaft oder einen Indexer für einen Member einer Klasse aufzurufen, die von MarshalByRefObject abgeleitet wird, und es sich um einen Werttypmember handelt. Um diese Warnung zu vermeiden, müssen Sie den Member in eine lokale Variable kopieren und die Methode für diese Variable aufrufen.

Im folgenden Beispiel wird CS1690 generiert:

// 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;
   }
}