次の方法で共有


コンパイラの警告 (レベル 1) CS0420

更新 : 2007 年 11 月

エラー メッセージ

'識別子': volatile フィールドへの参照は、volatile として扱われません。

通常、volatile フィールドを、ref パラメータや out パラメータで渡すことはしません。これらのパラメータは、関数のスコープ内では volatile として扱われないためです。ただし、インタロック API を呼び出す場合など、この規則には例外があります。意図的に volatile フィールドを参照パラメータとして使用する場合は、他の警告と同様、#pragma warning を使って警告を無効にできます。

次の例では 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 
   }
}