컴파일러 경고(수준 1) CS1690

업데이트: 2007년 11월

오류 메시지

'member'은(는) 참조로 마샬링하는 클래스의 필드이므로 이 필드의 멤버에 액세스하면 런타임 예외가 발생할 수 있습니다.
Accessing a member on 'member' may cause a runtime exception because it is a field of a marshal-by-reference class

이 경고는 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;
   }
}