(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Compilerwarnung (Stufe 1) CS1690

Der Zugriff auf einen Member auf "member" kann eine Laufzeitausnahme verursachen, da er ein Feld einer Marshal-by-Reference-Klasse ist

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. Objekte, die von MarshalByRefObject erben, werden in der Regel als Verweis über eine Anwendungsdomäne gemarshallt. Beim Versuch, mit Code direkt auf den Werttypmember eines solchen Objekts über eine Anwendungsdomäne zuzugreifen, wird eine Laufzeitausnahme ausgelöst. Um diese Warnung zu vermeiden, kopieren Sie den Member in eine lokale Variable, und rufen Sie die Methode für diese Variable auf.

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;
   }
}
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.