Freigeben über


Compilerwarnung (Stufe 1) CS0420

Aktualisiert: November 2007

Fehlermeldung

"Bezeichner": Ein Verweis auf ein flüchtiges Feld wird nicht als flüchtig behandelt.
'identifier': a reference to a volatile field will not be treated as volatile

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 der Fehler 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 
   }
}