컴파일러 경고(수준 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;
}
}