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

更新 : 2007 年 11 月

エラー メッセージ

参照マーシャリング クラスのフィールドであるため、'メンバ' のメンバにアクセスすると、ランタイム例外が発生する可能性があります

この警告は、MarshalByRefObject から派生するクラスの値型のメンバに対して、メソッド、プロパティ、またはインデクサを呼び出そうとした場合に発生します。警告を解決するには、メンバをローカル変数にコピーし、この変数でメソッドを呼び出します。

次の例では CS1690 エラーが生成されます。

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