Kompilatorvarning (nivå 1) CS0420

"identifierare": en referens till ett flyktigt fält behandlas inte som flyktigt

Ett flyktigt fält bör normalt inte skickas med hjälp av en ref eller ut-parameter , eftersom det inte behandlas som flyktigt inom funktionens omfång. Det finns undantag till detta, till exempel när du anropar ett sammankopplat API. Precis som med alla varningar kan du använda #pragma varning för att inaktivera den här varningen i de sällsynta fall där du avsiktligt använder ett flyktigt fält som referensparameter.

Följande exempel genererar CS0420:

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