Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Compiler Warning (level 1) CS0420

 

Veröffentlicht: Juli 2016

"Bezeichner": Ein Verweis auf ein flüchtiges Feld wird nicht als flüchtig behandelt.

Ein flüchtiges Feld darf normalerweise nicht mit dem ref-Parameter oder dem out-Parameter übergeben werden, da es innerhalb des Bereichs der Funktion nicht als flüchtig behandelt wird. Es gibt einige Ausnahmen von dieser Regel, z. B. beim Aufrufen einer gesperrten API. Wie bei jeder Warnung, können Sie auch hier #pragma warning verwenden, um diese Warnung für die seltenen Fälle zu deaktivieren, in denen Sie ein flüchtiges Feld absichtlich als Verweisparameter verwenden.

Im folgenden Beispiel wird CS0420 generiert:

// CS0420.cs
// compile with: /W:1
using System;

class TestClass
{
   private volatile int i;

   public void TestVolatile(ref int ii)
   {
   }

   public static void Main()
   {
      TestClass x = new TestClass();
      x.TestVolatile(ref x.i);   // CS0420 
   }
}
Anzeigen: